From cb0fb254aaa2bf0cba94e1849d034e85fb44d957 Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 11 Aug 2025 10:21:46 -0400 Subject: [PATCH 01/19] New attackerRetreated status for raids --- x/structs/types/keys.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/structs/types/keys.go b/x/structs/types/keys.go index 977cccc..c1d0bc4 100644 --- a/x/structs/types/keys.go +++ b/x/structs/types/keys.go @@ -265,6 +265,7 @@ var Ambit_flag = map[Ambit]uint64 { var RaidStatus_enum = map[string]RaidStatus { "initiated": RaidStatus_initiated, "ongoing": RaidStatus_ongoing, + "attackerRetreated": RaidStatus_attackerRetreated, "attackerDefeated": RaidStatus_attackerDefeated, "raidSuccessful": RaidStatus_raidSuccessful, } From 7c47ea1ce8aab7cbece2ae02091e55e54931bd22 Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 11 Aug 2025 10:36:59 -0400 Subject: [PATCH 02/19] New attackerRetreated status for raids --- proto/structs/structs/keys.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/proto/structs/structs/keys.proto b/proto/structs/structs/keys.proto index 195b178..5d8eb29 100644 --- a/proto/structs/structs/keys.proto +++ b/proto/structs/structs/keys.proto @@ -85,6 +85,7 @@ enum raidStatus { initiated = 0; ongoing = 2; attackerDefeated = 1; + attackerRetreated = 5; raidSuccessful = 3; demilitarized = 4; } From ddbac05a3fe1834a0291def7854888ff9b5bb604 Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 11 Aug 2025 11:45:46 -0400 Subject: [PATCH 03/19] New attackerRetreated status for raids --- x/structs/keeper/msg_server_fleet_move.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/x/structs/keeper/msg_server_fleet_move.go b/x/structs/keeper/msg_server_fleet_move.go index cad33c0..fc71191 100644 --- a/x/structs/keeper/msg_server_fleet_move.go +++ b/x/structs/keeper/msg_server_fleet_move.go @@ -43,6 +43,12 @@ func (k msgServer) FleetMove(goCtx context.Context, msg *types.MsgFleetMove) (*t return &types.MsgFleetMoveResponse{}, readinessError } + if fleet.GetPlanetId() != msg.DestinationLocationId { + if fleet.GetPlanet().GetLocationListStart() = msg.FleetId { + _ = ctx.EventManager().EmitTypedEvent(&types.EventRaid{&types.EventRaidDetail{FleetId: msg.FleetId, PlanetId: fleet.GetPlanetId(), Status: types.RaidStatus_attackerRetreated}}) + } + } + fleet.SetLocationToPlanet(&destination) fleet.Commit() From ab164bcd7e2fad0b18d02af1f40ec051ebe59b64 Mon Sep 17 00:00:00 2001 From: abstrct Date: Tue, 30 Sep 2025 16:11:33 -0400 Subject: [PATCH 04/19] Resolved potential bug in GetInfusionByID array split. --- x/structs/keeper/infusion.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/x/structs/keeper/infusion.go b/x/structs/keeper/infusion.go index bd15e06..16f3c17 100644 --- a/x/structs/keeper/infusion.go +++ b/x/structs/keeper/infusion.go @@ -67,6 +67,9 @@ func (k Keeper) GetInfusion(ctx context.Context, destinationId string, address s // GetInfusion returns a infusion from its id (destinationId-address) func (k Keeper) GetInfusionByID(ctx context.Context, infusionId string) (val types.Infusion, found bool) { infusionIdSplit := strings.Split(infusionId, "-") + if len(infusionIdSplit) != 2 { + return types.Infusion{}, false + } return k.GetInfusion(ctx, infusionIdSplit[0], infusionIdSplit[1]) } From 38ef16ee4f9494fb2281bcc66f5be9c34c1f869e Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 20 Oct 2025 16:33:27 -0400 Subject: [PATCH 05/19] Bug fix in fleet movement. Improvement to membership join process that streamlines redelegation of staked assets during the migration process. --- api/structs/structs/keys.pulsar.go | 298 +- docs/static/openapi.yml | 43429 +--------------- x/structs/keeper/infusion.go | 1 + x/structs/keeper/msg_server_fleet_move.go | 6 +- .../msg_server_guild_membership_join.go | 105 +- x/structs/types/expected_keepers.go | 5 +- x/structs/types/keys.pb.go | 216 +- x/structs/types/packet.pb.go | 1 - 8 files changed, 360 insertions(+), 43701 deletions(-) diff --git a/api/structs/structs/keys.pulsar.go b/api/structs/structs/keys.pulsar.go index 8c677d1..ea94a18 100644 --- a/api/structs/structs/keys.pulsar.go +++ b/api/structs/structs/keys.pulsar.go @@ -449,11 +449,12 @@ func (Ambit) EnumDescriptor() ([]byte, []int) { type RaidStatus int32 const ( - RaidStatus_initiated RaidStatus = 0 - RaidStatus_ongoing RaidStatus = 2 - RaidStatus_attackerDefeated RaidStatus = 1 - RaidStatus_raidSuccessful RaidStatus = 3 - RaidStatus_demilitarized RaidStatus = 4 + RaidStatus_initiated RaidStatus = 0 + RaidStatus_ongoing RaidStatus = 2 + RaidStatus_attackerDefeated RaidStatus = 1 + RaidStatus_attackerRetreated RaidStatus = 5 + RaidStatus_raidSuccessful RaidStatus = 3 + RaidStatus_demilitarized RaidStatus = 4 ) // Enum value maps for RaidStatus. @@ -462,15 +463,17 @@ var ( 0: "initiated", 2: "ongoing", 1: "attackerDefeated", + 5: "attackerRetreated", 3: "raidSuccessful", 4: "demilitarized", } RaidStatus_value = map[string]int32{ - "initiated": 0, - "ongoing": 2, - "attackerDefeated": 1, - "raidSuccessful": 3, - "demilitarized": 4, + "initiated": 0, + "ongoing": 2, + "attackerDefeated": 1, + "attackerRetreated": 5, + "raidSuccessful": 3, + "demilitarized": 4, } ) @@ -1405,147 +1408,148 @@ var file_structs_structs_keys_proto_rawDesc = []byte{ 0x0a, 0x05, 0x77, 0x61, 0x74, 0x65, 0x72, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x6c, 0x61, 0x6e, 0x64, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x61, 0x69, 0x72, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x10, 0x05, 0x2a, 0x65, 0x0a, 0x0a, 0x72, 0x61, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x10, 0x05, 0x2a, 0x7c, 0x0a, 0x0a, 0x72, 0x61, 0x69, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x44, 0x65, 0x66, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x72, 0x61, 0x69, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x66, 0x75, 0x6c, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x64, 0x65, 0x6d, 0x69, 0x6c, 0x69, - 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x04, 0x2a, 0x28, 0x0a, 0x0c, 0x70, 0x6c, 0x61, - 0x6e, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x0b, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, - 0x00, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x77, 0x61, 0x79, 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x13, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x02, - 0x12, 0x15, 0x0a, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, - 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x10, 0x04, - 0x12, 0x18, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x74, 0x79, - 0x70, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x06, 0x2a, 0xda, 0x03, 0x0a, 0x13, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x53, 0x68, - 0x69, 0x65, 0x6c, 0x64, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, + 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x65, + 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x72, 0x61, 0x69, + 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x10, 0x03, 0x12, 0x11, 0x0a, + 0x0d, 0x64, 0x65, 0x6d, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x10, 0x04, + 0x2a, 0x28, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x01, 0x2a, 0x26, 0x0a, 0x0b, 0x66, 0x6c, + 0x65, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x61, 0x77, 0x61, 0x79, + 0x10, 0x01, 0x2a, 0x9b, 0x01, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x10, 0x03, 0x12, 0x17, + 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4f, 0x72, 0x65, 0x52, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x74, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x10, + 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x10, 0x06, + 0x2a, 0xda, 0x03, 0x0a, 0x13, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x74, 0x61, 0x72, 0x79, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x10, 0x00, 0x12, 0x19, 0x0a, + 0x15, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x65, + 0x6e, 0x73, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x2a, 0x0a, 0x26, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x61, 0x74, 0x65, 0x64, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, - 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x43, 0x61, - 0x6e, 0x6e, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x02, 0x12, 0x2a, - 0x0a, 0x26, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x03, 0x12, 0x30, 0x0a, 0x2c, 0x6c, 0x6f, - 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x04, 0x12, 0x38, 0x0a, 0x34, - 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4c, 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, - 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x61, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x10, 0x05, 0x12, 0x3c, 0x0a, 0x38, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x62, - 0x69, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x10, 0x06, 0x12, 0x3e, 0x0a, 0x3a, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, - 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x6f, 0x72, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, 0x6f, 0x72, 0x62, 0x69, 0x74, 0x61, 0x6c, 0x4a, - 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x08, 0x12, 0x29, 0x0a, 0x25, 0x61, 0x64, 0x76, 0x61, 0x6e, - 0x63, 0x65, 0x64, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x61, 0x6c, 0x4a, 0x61, 0x6d, 0x6d, 0x69, 0x6e, - 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x52, 0x61, 0x69, 0x64, 0x10, 0x0a, 0x2a, 0x3a, 0x0a, 0x10, 0x74, 0x65, 0x63, 0x68, 0x57, 0x65, - 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x11, 0x0a, 0x0d, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, - 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, - 0x10, 0x01, 0x2a, 0x42, 0x0a, 0x11, 0x74, 0x65, 0x63, 0x68, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x6e, 0x6f, 0x57, 0x65, 0x61, - 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x75, 0x6e, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x75, 0x0a, 0x12, 0x74, 0x65, 0x63, 0x68, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x10, - 0x6e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, - 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x67, 0x75, 0x69, 0x64, 0x65, 0x64, 0x57, 0x65, 0x61, 0x70, - 0x6f, 0x6e, 0x72, 0x79, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x75, 0x6e, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x64, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x75, 0x6e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x73, - 0x65, 0x6c, 0x66, 0x44, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x10, 0x04, 0x2a, 0x83, 0x01, - 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x65, 0x61, - 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x12, 0x15, 0x0a, 0x11, 0x6e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x69, - 0x76, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0x01, 0x12, - 0x17, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x61, 0x64, 0x76, 0x61, - 0x6e, 0x63, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x6b, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x72, - 0x74, 0x10, 0x04, 0x2a, 0xb2, 0x01, 0x0a, 0x10, 0x74, 0x65, 0x63, 0x68, 0x55, 0x6e, 0x69, 0x74, - 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x6e, 0x6f, 0x55, 0x6e, - 0x69, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, - 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, - 0x72, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4a, 0x61, 0x6d, - 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x61, 0x72, 0x6d, 0x6f, 0x75, 0x72, - 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x43, 0x6f, - 0x6d, 0x62, 0x61, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, - 0x73, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4d, 0x6f, 0x64, 0x65, 0x10, 0x05, 0x12, 0x14, 0x0a, - 0x10, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x46, 0x65, 0x6e, 0x63, 0x69, 0x6e, - 0x67, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x72, 0x65, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x64, 0x57, 0x61, 0x6c, 0x6c, 0x73, 0x10, 0x07, 0x2a, 0xad, 0x01, 0x0a, 0x16, 0x74, 0x65, 0x63, - 0x68, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, - 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x6e, 0x6f, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x10, 0x00, 0x12, 0x25, 0x0a, - 0x21, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x65, 0x72, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x72, 0x61, 0x70, 0x69, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x02, 0x12, 0x12, - 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x63, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x6f, 0x72, 0x65, - 0x42, 0x75, 0x6e, 0x6b, 0x65, 0x72, 0x10, 0x05, 0x2a, 0x6d, 0x0a, 0x15, 0x74, 0x65, 0x63, 0x68, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, - 0x73, 0x12, 0x16, 0x0a, 0x12, 0x6e, 0x6f, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, - 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x64, 0x65, 0x66, - 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x27, - 0x0a, 0x23, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x02, 0x2a, 0x55, 0x0a, 0x15, 0x74, 0x65, 0x63, 0x68, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, - 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x6f, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, - 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x64, 0x6f, 0x63, - 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x10, 0x02, 0x12, - 0x0d, 0x0a, 0x09, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x42, 0x61, 0x73, 0x65, 0x10, 0x03, 0x2a, 0x3e, - 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x4d, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x15, 0x0a, 0x11, 0x6e, 0x6f, 0x50, 0x6c, 0x61, 0x6e, 0x65, - 0x74, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, - 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x69, 0x67, 0x10, 0x01, 0x2a, 0x43, - 0x0a, 0x17, 0x74, 0x65, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x52, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x6f, 0x50, - 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, - 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, - 0x79, 0x10, 0x01, 0x2a, 0x69, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x50, 0x6f, 0x77, 0x65, 0x72, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x6e, 0x6f, - 0x50, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, - 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x47, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x6c, 0x61, - 0x72, 0x67, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x03, 0x2a, 0x49, - 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x4d, 0x61, - 0x72, 0x6b, 0x65, 0x74, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x61, 0x72, 0x6b, 0x65, 0x74, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x10, 0x02, 0x42, 0x9f, 0x01, 0x0a, 0x13, 0x63, 0x6f, - 0x6d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x42, 0x09, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x20, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0xa2, 0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x0f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xca, 0x02, 0x0f, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xe2, 0x02, 0x1b, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x03, 0x12, 0x30, 0x0a, 0x2c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x42, 0x61, 0x6c, + 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, + 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x10, 0x04, 0x12, 0x38, 0x0a, 0x34, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4c, + 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x05, 0x12, 0x3c, 0x0a, + 0x38, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, + 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, + 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x06, 0x12, 0x3e, 0x0a, 0x3a, 0x6c, + 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, + 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x07, 0x12, 0x21, 0x0a, 0x1d, 0x6f, + 0x72, 0x62, 0x69, 0x74, 0x61, 0x6c, 0x4a, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x08, 0x12, 0x29, + 0x0a, 0x25, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x72, 0x62, 0x69, 0x74, 0x61, + 0x6c, 0x4a, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x61, 0x69, 0x64, 0x10, 0x0a, 0x2a, 0x3a, 0x0a, + 0x10, 0x74, 0x65, 0x63, 0x68, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x12, 0x11, 0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x57, 0x65, 0x61, 0x70, + 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x10, 0x01, 0x2a, 0x42, 0x0a, 0x11, 0x74, 0x65, 0x63, + 0x68, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x13, + 0x0a, 0x0f, 0x6e, 0x6f, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x67, 0x75, 0x69, 0x64, 0x65, 0x64, 0x10, 0x01, 0x12, + 0x0c, 0x0a, 0x08, 0x75, 0x6e, 0x67, 0x75, 0x69, 0x64, 0x65, 0x64, 0x10, 0x02, 0x2a, 0x75, 0x0a, + 0x12, 0x74, 0x65, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, + 0x6e, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x6e, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x57, + 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x67, 0x75, 0x69, + 0x64, 0x65, 0x64, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x10, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x75, 0x6e, 0x67, 0x75, 0x69, 0x64, 0x65, 0x64, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, + 0x79, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x75, 0x6e, + 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x10, 0x04, 0x2a, 0x83, 0x01, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x50, 0x61, 0x73, + 0x73, 0x69, 0x76, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, 0x79, 0x12, 0x15, 0x0a, 0x11, + 0x6e, 0x6f, 0x50, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x57, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x72, + 0x79, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0x02, 0x12, + 0x19, 0x0a, 0x15, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x6c, 0x61, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x72, 0x74, 0x10, 0x04, 0x2a, 0xb2, 0x01, 0x0a, 0x10, 0x74, + 0x65, 0x63, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, + 0x12, 0x0a, 0x0e, 0x6e, 0x6f, 0x55, 0x6e, 0x69, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, + 0x73, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, + 0x4d, 0x61, 0x6e, 0x65, 0x75, 0x76, 0x65, 0x72, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x4a, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0a, 0x0a, + 0x06, 0x61, 0x72, 0x6d, 0x6f, 0x75, 0x72, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x69, 0x6e, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6d, 0x62, 0x61, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x4d, 0x6f, + 0x64, 0x65, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x46, 0x65, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x72, 0x65, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x57, 0x61, 0x6c, 0x6c, 0x73, 0x10, 0x07, 0x2a, + 0xad, 0x01, 0x0a, 0x16, 0x74, 0x65, 0x63, 0x68, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x6e, 0x6f, + 0x4f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, + 0x65, 0x73, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, + 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x72, + 0x61, 0x70, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, + 0x63, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x6d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x04, + 0x12, 0x0d, 0x0a, 0x09, 0x6f, 0x72, 0x65, 0x42, 0x75, 0x6e, 0x6b, 0x65, 0x72, 0x10, 0x05, 0x2a, + 0x6d, 0x0a, 0x15, 0x74, 0x65, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, + 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x6e, 0x6f, 0x50, 0x6c, + 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x69, 0x76, 0x65, 0x43, 0x61, 0x6e, + 0x6e, 0x6f, 0x6e, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x62, 0x69, + 0x74, 0x42, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x65, 0x70, 0x74, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x02, 0x2a, 0x55, + 0x0a, 0x15, 0x74, 0x65, 0x63, 0x68, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, + 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x6f, 0x53, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x00, + 0x12, 0x08, 0x0a, 0x04, 0x64, 0x6f, 0x63, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x72, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x42, + 0x61, 0x73, 0x65, 0x10, 0x03, 0x2a, 0x3e, 0x0a, 0x13, 0x74, 0x65, 0x63, 0x68, 0x50, 0x6c, 0x61, + 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x15, 0x0a, 0x11, + 0x6e, 0x6f, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x6f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x52, 0x69, 0x67, 0x10, 0x01, 0x2a, 0x43, 0x0a, 0x17, 0x74, 0x65, 0x63, 0x68, 0x50, 0x6c, 0x61, + 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x12, 0x17, 0x0a, 0x13, 0x6e, 0x6f, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x6f, 0x72, 0x65, + 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x10, 0x01, 0x2a, 0x69, 0x0a, 0x13, 0x74, 0x65, + 0x63, 0x68, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x15, 0x0a, 0x11, 0x6e, 0x6f, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x6d, 0x61, 0x6c, + 0x6c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, + 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x10, + 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x10, 0x03, 0x2a, 0x49, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x10, 0x00, 0x12, 0x0f, 0x0a, + 0x0b, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x10, 0x01, 0x12, 0x10, + 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x10, 0x02, + 0x42, 0x9f, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x42, 0x09, 0x4b, 0x65, 0x79, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x0f, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xca, + 0x02, 0x0f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0xe2, 0x02, 0x1b, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x10, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index 616b4b0..e51be4c 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1,43428 +1 @@ -swagger: '2.0' -info: - title: HTTP API Console - name: '' - description: '' -paths: - /cosmos.auth.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a (governance) operation for updating the x/auth - module - - parameters. The authority defaults to the x/gov module account. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosAuthV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/auth parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.authz.v1beta1.Msg/Exec: - post: - summary: |- - Exec attempts to execute the provided messages using - authorizations granted to the grantee. Each message should have only - one signer corresponding to the granter of the authorization. - operationId: CosmosAuthzV1Beta1Msg_Exec - responses: - '200': - description: A successful response. - schema: - type: object - properties: - results: - type: array - items: - type: string - format: byte - description: MsgExecResponse defines the Msg/MsgExecResponse response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgExec attempts to execute the provided messages using - authorizations granted to the grantee. Each message should have only - one signer corresponding to the granter of the authorization. - in: body - required: true - schema: - type: object - properties: - grantee: - type: string - msgs: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - Execute Msg. - - The x/authz will try to find a grant matching (msg.signers[0], - grantee, MsgTypeURL(msg)) - - triple and validate it. - description: >- - MsgExec attempts to execute the provided messages using - - authorizations granted to the grantee. Each message should have - only - - one signer corresponding to the granter of the authorization. - tags: - - Msg - /cosmos.authz.v1beta1.Msg/Grant: - post: - summary: |- - Grant grants the provided authorization to the grantee on the granter's - account with the provided expiration time. If there is already a grant - for the given (granter, grantee, Authorization) triple, then the grant - will be overwritten. - operationId: CosmosAuthzV1Beta1Msg_Grant - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgGrantResponse defines the Msg/MsgGrant response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgGrant is a request type for Grant method. It declares - authorization to the grantee - - on behalf of the granter with the provided expiration time. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - grantee: - type: string - grant: - type: object - properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any - values in the form - - of utility functions or additional generated methods of - the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and - the unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will - yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a - custom JSON - - representation, that representation will be embedded - adding a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If - null, then the grant - - doesn't have a time expiration (other conditions in - `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: >- - MsgGrant is a request type for Grant method. It declares - authorization to the grantee - - on behalf of the granter with the provided expiration time. - tags: - - Msg - /cosmos.authz.v1beta1.Msg/Revoke: - post: - summary: >- - Revoke revokes any authorization corresponding to the provided method - name on the - - granter's account that has been granted to the grantee. - operationId: CosmosAuthzV1Beta1Msg_Revoke - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgRevoke revokes any authorization with the provided sdk.Msg type - on the - - granter's account with that has been granted to the grantee. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - grantee: - type: string - msg_type_url: - type: string - description: >- - MsgRevoke revokes any authorization with the provided sdk.Msg type - on the - - granter's account with that has been granted to the grantee. - tags: - - Msg - /cosmos.bank.v1beta1.Msg/MultiSend: - post: - summary: >- - MultiSend defines a method for sending coins from some accounts to other - accounts. - operationId: CosmosBankV1Beta1Msg_MultiSend - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgMultiSendResponse defines the Msg/MultiSend response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgMultiSend represents an arbitrary multi-in, multi-out send - message. - in: body - required: true - schema: - type: object - properties: - inputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Input models transaction input. - description: >- - Inputs, despite being `repeated`, only allows one sender - input. This is - - checked in MsgMultiSend's ValidateBasic. - outputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Output models transaction outputs. - description: >- - MsgMultiSend represents an arbitrary multi-in, multi-out send - message. - tags: - - Msg - /cosmos.bank.v1beta1.Msg/Send: - post: - summary: >- - Send defines a method for sending coins from one account to another - account. - operationId: CosmosBankV1Beta1Msg_Send - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgSendResponse defines the Msg/Send response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgSend represents a message to send coins from one account to - another. - in: body - required: true - schema: - type: object - properties: - from_address: - type: string - to_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgSend represents a message to send coins from one account to - another. - tags: - - Msg - /cosmos.bank.v1beta1.Msg/SetSendEnabled: - post: - summary: >- - SetSendEnabled is a governance operation for setting the SendEnabled - flag - - on any number of Denoms. Only the entries to add or update should be - - included. Entries that already exist in the store, but that aren't - - included in this message, will be left unchanged. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosBankV1Beta1Msg_SetSendEnabled - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response - type. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgSetSendEnabled is the Msg/SetSendEnabled request type. - - Only entries to add/update/delete need to be included. - Existing SendEnabled entries that are not included in this - message are left unchanged. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: authority is the address that controls the module. - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status - (whether a denom is - - sendable). - description: send_enabled is the list of entries to add or update. - use_default_for: - type: array - items: - type: string - description: >- - use_default_for is a list of denoms that should use the - params.default_send_enabled value. - - Denoms listed here will have their SendEnabled entries - deleted. - - If a denom is included that doesn't have a SendEnabled entry, - - it will be ignored. - description: |- - MsgSetSendEnabled is the Msg/SetSendEnabled request type. - - Only entries to add/update/delete need to be included. - Existing SendEnabled entries that are not included in this - message are left unchanged. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.bank.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/bank - module parameters. - - The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosBankV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/bank parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status - (whether a denom is - - sendable). - description: >- - Deprecated: Use of SendEnabled in params is deprecated. - - For genesis, use the newly added send_enabled field in the - genesis object. - - Storage, lookup, and manipulation of this information is - now in the keeper. - - - As of cosmos-sdk 0.47, this only exists for backwards - compatibility of genesis files. - default_send_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos/base/node/v1beta1/config: - get: - summary: Config queries for the operator configuration. - operationId: CosmosBaseNodeV1Beta1Service_Config - responses: - '200': - description: A successful response. - schema: - type: object - properties: - minimum_gas_price: - type: string - pruning_keep_recent: - type: string - pruning_interval: - type: string - halt_height: - type: string - format: uint64 - description: >- - ConfigResponse defines the response structure for the Config gRPC - query. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Service - /cosmos/base/node/v1beta1/status: - get: - summary: Status queries for the node status. - operationId: CosmosBaseNodeV1Beta1Service_Status - responses: - '200': - description: A successful response. - schema: - type: object - properties: - earliest_store_height: - type: string - format: uint64 - title: earliest block height available in the store - height: - type: string - format: uint64 - title: current block height - timestamp: - type: string - format: date-time - title: block height timestamp - app_hash: - type: string - format: byte - title: app hash of the current block - validator_hash: - type: string - format: byte - title: validator hash provided by the consensus header - description: >- - StateResponse defines the response structure for the status of a - node. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Service - /cosmos.consensus.v1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/consensus - module parameters. - - The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosConsensusV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: MsgUpdateParams is the Msg/UpdateParams request type. - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - block: - description: >- - params defines the x/consensus parameters to update. - - VersionsParams is not included in this Msg because it is - tracked - - separarately in x/upgrade. - - - NOTE: All parameters must be supplied. - type: object - properties: - max_bytes: - type: string - format: int64 - title: |- - Max block size, in bytes. - Note: must be greater than 0 - max_gas: - type: string - format: int64 - title: |- - Max gas per block. - Note: must be greater or equal to -1 - evidence: - type: object - properties: - max_age_num_blocks: - type: string - format: int64 - description: >- - Max age of evidence, in blocks. - - - The basic formula for calculating this is: MaxAgeDuration - / {average block - - time}. - max_age_duration: - type: string - description: >- - Max age of evidence, in time. - - - It should correspond with an app's "unbonding period" or - other similar - - mechanism for handling [Nothing-At-Stake - - attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). - max_bytes: - type: string - format: int64 - title: >- - This sets the maximum size of total evidence in bytes that - can be committed in a single block. - - and should fall comfortably under the max block bytes. - - Default is 1048576 or 1MB - description: >- - EvidenceParams determine how we handle evidence of - malfeasance. - validator: - type: object - properties: - pub_key_types: - type: array - items: - type: string - description: >- - ValidatorParams restrict the public key types validators can - use. - - NOTE: uses ABCI pubkey naming, not Amino names. - abci: - title: 'Since: cosmos-sdk 0.50' - type: object - properties: - vote_extensions_enable_height: - type: string - format: int64 - description: >- - vote_extensions_enable_height configures the first height - during which - - vote extensions will be enabled. During this specified - height, and for all - - subsequent heights, precommit messages that do not contain - valid extension data - - will be considered invalid. Prior to this height, vote - extensions will not - - be used or accepted by validators on the network. - - - Once enabled, vote extensions will be created by the - application in ExtendVote, - - passed to the application for validation in - VerifyVoteExtension and given - - to the application to use when proposing a block during - PrepareProposal. - description: >- - ABCIParams configure functionality specific to the Application - Blockchain Interface. - description: MsgUpdateParams is the Msg/UpdateParams request type. - tags: - - Msg - /cosmos.crisis.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/crisis - module - - parameters. The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosCrisisV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - constant_fee: - description: constant_fee defines the x/crisis parameter. - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.crisis.v1beta1.Msg/VerifyInvariant: - post: - summary: VerifyInvariant defines a method to verify a particular invariant. - operationId: CosmosCrisisV1Beta1Msg_VerifyInvariant - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgVerifyInvariantResponse defines the Msg/VerifyInvariant - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgVerifyInvariant represents a message to verify a particular - invariance. - in: body - required: true - schema: - type: object - properties: - sender: - type: string - description: >- - sender is the account address of private key to send coins to - fee collector account. - invariant_module_name: - type: string - description: name of the invariant module. - invariant_route: - type: string - description: invariant_route is the msg's invariant route. - description: >- - MsgVerifyInvariant represents a message to verify a particular - invariance. - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/CommunityPoolSpend: - post: - summary: >- - CommunityPoolSpend defines a governance operation for sending tokens - from - - the community pool in the x/distribution module to another account, - which - - could be the governance module itself. The authority is defined in the - - keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosDistributionV1Beta1Msg_CommunityPoolSpend - responses: - '200': - description: A successful response. - schema: - type: object - description: |- - MsgCommunityPoolSpendResponse defines the response to executing a - MsgCommunityPoolSpend message. - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgCommunityPoolSpend defines a message for sending tokens from the - community - - pool to another account. This message is typically executed via a - governance - - proposal with the governance module being the executing authority. - - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - recipient: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgCommunityPoolSpend defines a message for sending tokens from - the community - - pool to another account. This message is typically executed via a - governance - - proposal with the governance module being the executing authority. - - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool: - post: - summary: >- - DepositValidatorRewardsPool defines a method to provide additional - rewards - - to delegators to a specific validator. - description: 'Since: cosmos-sdk 0.50' - operationId: CosmosDistributionV1Beta1Msg_DepositValidatorRewardsPool - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgDepositValidatorRewardsPoolResponse defines the response to - executing a - - MsgDepositValidatorRewardsPool message. - - - Since: cosmos-sdk 0.50 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - DepositValidatorRewardsPool defines the request structure to provide - additional rewards to delegators from a specific validator. - - Since: cosmos-sdk 0.50 - in: body - required: true - schema: - type: object - properties: - depositor: - type: string - validator_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - DepositValidatorRewardsPool defines the request structure to - provide - - additional rewards to delegators from a specific validator. - - - Since: cosmos-sdk 0.50 - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/FundCommunityPool: - post: - summary: |- - FundCommunityPool defines a method to allow an account to directly - fund the community pool. - operationId: CosmosDistributionV1Beta1Msg_FundCommunityPool - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgFundCommunityPool allows an account to directly - fund the community pool. - in: body - required: true - schema: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - depositor: - type: string - description: |- - MsgFundCommunityPool allows an account to directly - fund the community pool. - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/SetWithdrawAddress: - post: - summary: |- - SetWithdrawAddress defines a method to change the withdraw address - for a delegator (or validator self-delegation). - operationId: CosmosDistributionV1Beta1Msg_SetWithdrawAddress - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgSetWithdrawAddress sets the withdraw address for - a delegator (or validator self-delegation). - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - withdraw_address: - type: string - description: |- - MsgSetWithdrawAddress sets the withdraw address for - a delegator (or validator self-delegation). - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the - x/distribution - - module parameters. The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosDistributionV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/distribution parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - description: >- - Deprecated: The base_proposer_reward field is deprecated - and is no longer used - - in the x/distribution module's reward mechanism. - bonus_proposer_reward: - type: string - description: >- - Deprecated: The bonus_proposer_reward field is deprecated - and is no longer used - - in the x/distribution module's reward mechanism. - withdraw_addr_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward: - post: - summary: >- - WithdrawDelegatorReward defines a method to withdraw rewards of - delegator - - from a single validator. - operationId: CosmosDistributionV1Beta1Msg_WithdrawDelegatorReward - responses: - '200': - description: A successful response. - schema: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: >- - MsgWithdrawDelegatorRewardResponse defines the - Msg/WithdrawDelegatorReward - - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgWithdrawDelegatorReward represents delegation withdrawal to a - delegator - - from a single validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - description: >- - MsgWithdrawDelegatorReward represents delegation withdrawal to a - delegator - - from a single validator. - tags: - - Msg - /cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission: - post: - summary: |- - WithdrawValidatorCommission defines a method to withdraw the - full commission to the validator address. - operationId: CosmosDistributionV1Beta1Msg_WithdrawValidatorCommission - responses: - '200': - description: A successful response. - schema: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: |- - MsgWithdrawValidatorCommissionResponse defines the - Msg/WithdrawValidatorCommission response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgWithdrawValidatorCommission withdraws the full commission to the - validator - - address. - in: body - required: true - schema: - type: object - properties: - validator_address: - type: string - description: >- - MsgWithdrawValidatorCommission withdraws the full commission to - the validator - - address. - tags: - - Msg - /cosmos.evidence.v1beta1.Msg/SubmitEvidence: - post: - summary: >- - SubmitEvidence submits an arbitrary Evidence of misbehavior such as - equivocation or - - counterfactual signing. - operationId: CosmosEvidenceV1Beta1Msg_SubmitEvidence - responses: - '200': - description: A successful response. - schema: - type: object - properties: - hash: - type: string - format: byte - description: hash defines the hash of the evidence. - description: >- - MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitEvidence represents a message that supports submitting - arbitrary - - Evidence of misbehavior such as equivocation or counterfactual - signing. - in: body - required: true - schema: - type: object - properties: - submitter: - type: string - description: submitter is the signer account address of evidence. - evidence: - description: evidence defines the evidence of misbehavior. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - MsgSubmitEvidence represents a message that supports submitting - arbitrary - - Evidence of misbehavior such as equivocation or counterfactual - signing. - tags: - - Msg - /cosmos.feegrant.v1beta1.Msg/GrantAllowance: - post: - summary: |- - GrantAllowance grants fee allowance to the grantee on the granter's - account with the provided expiration time. - operationId: CosmosFeegrantV1Beta1Msg_GrantAllowance - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgGrantAllowance adds permission for Grantee to spend up to - Allowance - - of fees from the account of Granter. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance - of another user's funds. - allowance: - description: >- - allowance can be any of basic, periodic, allowed fee - allowance. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - MsgGrantAllowance adds permission for Grantee to spend up to - Allowance - - of fees from the account of Granter. - tags: - - Msg - /cosmos.feegrant.v1beta1.Msg/PruneAllowances: - post: - summary: >- - PruneAllowances prunes expired fee allowances, currently up to 75 at a - time. - description: Since cosmos-sdk 0.50 - operationId: CosmosFeegrantV1Beta1Msg_PruneAllowances - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse - response type. - - - Since cosmos-sdk 0.50 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgPruneAllowances prunes expired fee allowances. - - Since cosmos-sdk 0.50 - in: body - required: true - schema: - type: object - properties: - pruner: - type: string - description: pruner is the address of the user pruning expired allowances. - description: |- - MsgPruneAllowances prunes expired fee allowances. - - Since cosmos-sdk 0.50 - tags: - - Msg - /cosmos.feegrant.v1beta1.Msg/RevokeAllowance: - post: - summary: |- - RevokeAllowance revokes any fee allowance of granter's account that - has been granted to the grantee. - operationId: CosmosFeegrantV1Beta1Msg_RevokeAllowance - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgRevokeAllowance removes any existing Allowance from Granter to - Grantee. - in: body - required: true - schema: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of - their funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance - of another user's funds. - description: >- - MsgRevokeAllowance removes any existing Allowance from Granter to - Grantee. - tags: - - Msg - /cosmos.gov.v1.Msg/CancelProposal: - post: - summary: CancelProposal defines a method to cancel governance proposal - description: 'Since: cosmos-sdk 0.50' - operationId: CosmosGovV1Msg_CancelProposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - canceled_time: - type: string - format: date-time - description: canceled_time is the time when proposal is canceled. - canceled_height: - type: string - format: uint64 - description: >- - canceled_height defines the block height at which the proposal - is canceled. - description: >- - MsgCancelProposalResponse defines the response structure for - executing a - - MsgCancelProposal message. - - - Since: cosmos-sdk 0.50 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgCancelProposal is the Msg/CancelProposal request type. - - Since: cosmos-sdk 0.50 - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - proposer: - type: string - description: proposer is the account address of the proposer. - description: |- - MsgCancelProposal is the Msg/CancelProposal request type. - - Since: cosmos-sdk 0.50 - tags: - - Msg - /cosmos.gov.v1.Msg/Deposit: - post: - summary: Deposit defines a method to add deposit on a specific proposal. - operationId: CosmosGovV1Msg_Deposit - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - tags: - - Msg - /cosmos.gov.v1.Msg/ExecLegacyContent: - post: - summary: |- - ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal - to execute a legacy content-based proposal. - operationId: CosmosGovV1Msg_ExecLegacyContent - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgExecLegacyContent is used to wrap the legacy content field into a - message. - - This ensures backwards compatibility with v1beta1.MsgSubmitProposal. - in: body - required: true - schema: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - authority: - type: string - description: authority must be the gov module address. - description: >- - MsgExecLegacyContent is used to wrap the legacy content field into - a message. - - This ensures backwards compatibility with - v1beta1.MsgSubmitProposal. - tags: - - Msg - /cosmos.gov.v1.Msg/SubmitProposal: - post: - summary: >- - SubmitProposal defines a method to create new proposal given the - messages. - operationId: CosmosGovV1Msg_SubmitProposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: >- - MsgSubmitProposalResponse defines the Msg/SubmitProposal response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - in: body - required: true - schema: - type: object - properties: - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - messages are the arbitrary messages to be executed if proposal - passes. - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at - proposal submission. - proposer: - type: string - description: proposer is the account address of the proposer. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the proposal. - title: - type: string - description: |- - title is the title of the proposal. - - Since: cosmos-sdk 0.47 - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is the summary of the proposal - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited or not - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - tags: - - Msg - /cosmos.gov.v1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/gov - module - - parameters. The authority is defined in the keeper. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosGovV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/gov parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. - Initial value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a - result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for - proposal to be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value - that must be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the - depositors when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * - deposit) proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal - deposits will be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. - Default value: 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - description: >- - Minimum expedited deposit for a proposal to enter voting - period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value - minimum that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a - min_deposit of 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.gov.v1.Msg/Vote: - post: - summary: Vote defines a method to add a vote on a specific proposal. - operationId: CosmosGovV1Msg_Vote - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVote defines a message to cast a vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - metadata: - type: string - description: metadata is any arbitrary metadata attached to the Vote. - description: MsgVote defines a message to cast a vote. - tags: - - Msg - /cosmos.gov.v1.Msg/VoteWeighted: - post: - summary: >- - VoteWeighted defines a method to add a weighted vote on a specific - proposal. - operationId: CosmosGovV1Msg_VoteWeighted - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVoteWeighted defines a message to cast a vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options defines the weighted vote options. - metadata: - type: string - description: >- - metadata is any arbitrary metadata attached to the - VoteWeighted. - description: MsgVoteWeighted defines a message to cast a vote. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/Deposit: - post: - summary: Deposit defines a method to add deposit on a specific proposal. - operationId: CosmosGovV1Beta1Msg_Deposit - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: >- - MsgDeposit defines a message to submit a deposit to an existing - proposal. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/SubmitProposal: - post: - summary: SubmitProposal defines a method to create new proposal given a content. - operationId: CosmosGovV1Beta1Msg_SubmitProposal - responses: - '200': - description: A successful response. - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: >- - MsgSubmitProposalResponse defines the Msg/SubmitProposal response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - in: body - required: true - schema: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at - proposal submission. - proposer: - type: string - description: proposer is the account address of the proposer. - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/Vote: - post: - summary: Vote defines a method to add a vote on a specific proposal. - operationId: CosmosGovV1Beta1Msg_Vote - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgVote defines a message to cast a vote. - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: MsgVote defines a message to cast a vote. - tags: - - Msg - /cosmos.gov.v1beta1.Msg/VoteWeighted: - post: - summary: >- - VoteWeighted defines a method to add a weighted vote on a specific - proposal. - description: 'Since: cosmos-sdk 0.43' - operationId: CosmosGovV1Beta1Msg_VoteWeighted - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response - type. - - - Since: cosmos-sdk 0.43 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgVoteWeighted defines a message to cast a vote. - - Since: cosmos-sdk 0.43 - in: body - required: true - schema: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not - contain duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: >- - weight is the vote weight associated with the vote - option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: options defines the weighted vote options. - description: |- - MsgVoteWeighted defines a message to cast a vote. - - Since: cosmos-sdk 0.43 - tags: - - Msg - /cosmos.mint.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/mint - module - - parameters. The authority is defaults to the x/gov module account. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosMintV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/mint parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.nft.v1beta1.Msg/Send: - post: - summary: Send defines a method to send a nft from one account to another account. - operationId: CosmosNftV1Beta1Msg_Send - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgSendResponse defines the Msg/Send response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: >- - MsgSend represents a message to send a nft from one account to - another account. - in: body - required: true - schema: - type: object - properties: - class_id: - type: string - title: >- - class_id defines the unique identifier of the nft - classification, similar to the contract address of ERC721 - id: - type: string - title: id defines the unique identification of nft - sender: - type: string - title: sender is the address of the owner of nft - receiver: - type: string - title: receiver is the receiver address of nft - description: >- - MsgSend represents a message to send a nft from one account to - another account. - tags: - - Msg - /cosmos/params/v1beta1/params: - get: - summary: |- - Params queries a specific parameter of a module, given its subspace and - key. - operationId: CosmosParamsV1Beta1Query_Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - param: - description: param defines the queried parameter. - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: subspace - description: subspace defines the module to query the parameter for. - in: query - required: false - type: string - - name: key - description: key defines the key of the parameter in the subspace. - in: query - required: false - type: string - tags: - - Query - /cosmos/params/v1beta1/subspaces: - get: - summary: >- - Subspaces queries for all registered subspaces and all keys for a - subspace. - description: 'Since: cosmos-sdk 0.46' - operationId: CosmosParamsV1Beta1Query_Subspaces - responses: - '200': - description: A successful response. - schema: - type: object - properties: - subspaces: - type: array - items: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: >- - Subspace defines a parameter subspace name and all the keys - that exist for - - the subspace. - - - Since: cosmos-sdk 0.46 - description: >- - QuerySubspacesResponse defines the response types for querying for - all - - registered subspaces and all keys for a subspace. - - - Since: cosmos-sdk 0.46 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /cosmos.slashing.v1beta1.Msg/Unjail: - post: - summary: >- - Unjail defines a method for unjailing a jailed validator, thus returning - - them into the bonded validator set, so they can begin receiving - provisions - - and rewards again. - operationId: CosmosSlashingV1Beta1Msg_Unjail - responses: - '200': - description: A successful response. - schema: - type: object - title: MsgUnjailResponse defines the Msg/Unjail response type - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - validator_addr: - type: string - title: MsgUnjail defines the Msg/Unjail request type - tags: - - Msg - /cosmos.slashing.v1beta1.Msg/UpdateParams: - post: - summary: >- - UpdateParams defines a governance operation for updating the x/slashing - module - - parameters. The authority defaults to the x/gov module account. - description: 'Since: cosmos-sdk 0.47' - operationId: CosmosSlashingV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/slashing parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /cosmos.staking.v1beta1.Msg/BeginRedelegate: - post: - summary: >- - BeginRedelegate defines a method for performing a redelegation - - of coins from a delegator and source validator to a destination - validator. - operationId: CosmosStakingV1Beta1Msg_BeginRedelegate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - completion_time: - type: string - format: date-time - description: >- - MsgBeginRedelegateResponse defines the Msg/BeginRedelegate - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgBeginRedelegate defines a SDK message for performing a - redelegation - - of coins from a delegator and source validator to a destination - validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_src_address: - type: string - validator_dst_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgBeginRedelegate defines a SDK message for performing a - redelegation - - of coins from a delegator and source validator to a destination - validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation: - post: - summary: >- - CancelUnbondingDelegation defines a method for performing canceling the - unbonding delegation - - and delegate back to previous validator. - description: 'Since: cosmos-sdk 0.46' - operationId: CosmosStakingV1Beta1Msg_CancelUnbondingDelegation - responses: - '200': - description: A successful response. - schema: - type: object - description: 'Since: cosmos-sdk 0.46' - title: MsgCancelUnbondingDelegationResponse - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: 'Since: cosmos-sdk 0.46' - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: >- - amount is always less than or equal to unbonding delegation - entry balance - creation_height: - type: string - format: int64 - description: creation_height is the height which the unbonding took place. - description: 'Since: cosmos-sdk 0.46' - title: >- - MsgCancelUnbondingDelegation defines the SDK message for - performing a cancel unbonding delegation for delegator - tags: - - Msg - /cosmos.staking.v1beta1.Msg/CreateValidator: - post: - summary: CreateValidator defines a method for creating a new validator. - operationId: CosmosStakingV1Beta1Msg_CreateValidator - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgCreateValidatorResponse defines the Msg/CreateValidator - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgCreateValidator defines a SDK message for creating a new - validator. - in: body - required: true - schema: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort - or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - commission: - type: object - properties: - rate: - type: string - description: >- - rate is the commission rate charged to delegators, as a - fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which - validator can ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - description: >- - CommissionRates defines the initial commission rates to be - used for creating - - a validator. - min_self_delegation: - type: string - delegator_address: - type: string - description: >- - Deprecated: Use of Delegator Address in MsgCreateValidator is - deprecated. - - The validator address bytes and delegator address bytes refer - to the same account while creating validator (defer - - only in bech32 notation). - validator_address: - type: string - pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - value: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgCreateValidator defines a SDK message for creating a new - validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/Delegate: - post: - summary: |- - Delegate defines a method for performing a delegation of coins - from a delegator to a validator. - operationId: CosmosStakingV1Beta1Msg_Delegate - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgDelegateResponse defines the Msg/Delegate response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgDelegate defines a SDK message for performing a delegation of - coins - - from a delegator to a validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgDelegate defines a SDK message for performing a delegation of - coins - - from a delegator to a validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/EditValidator: - post: - summary: EditValidator defines a method for editing an existing validator. - operationId: CosmosStakingV1Beta1Msg_EditValidator - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgEditValidatorResponse defines the Msg/EditValidator response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgEditValidator defines a SDK message for editing an existing - validator. - in: body - required: true - schema: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort - or Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: >- - security_contact defines an optional email for security - contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - validator_address: - type: string - commission_rate: - type: string - title: >- - We pass a reference to the new commission rate and min self - delegation as - - it's not mandatory to update. If not updated, the deserialized - rate will be - - zero with no way to distinguish if an update was intended. - - REF: #2373 - min_self_delegation: - type: string - description: >- - MsgEditValidator defines a SDK message for editing an existing - validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/Undelegate: - post: - summary: |- - Undelegate defines a method for performing an undelegation from a - delegate and a validator. - operationId: CosmosStakingV1Beta1Msg_Undelegate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - completion_time: - type: string - format: date-time - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: amount returns the amount of undelegated coins - description: MsgUndelegateResponse defines the Msg/Undelegate response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUndelegate defines a SDK message for performing an undelegation - from a - - delegate and a validator. - in: body - required: true - schema: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: >- - MsgUndelegate defines a SDK message for performing an undelegation - from a - - delegate and a validator. - tags: - - Msg - /cosmos.staking.v1beta1.Msg/UpdateParams: - post: - summary: |- - UpdateParams defines an operation for updating the x/staking module - parameters. - Since: cosmos-sdk 0.47 - operationId: CosmosStakingV1Beta1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - - - Since: cosmos-sdk 0.47 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the x/staking parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding - delegation or redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: >- - historical_entries is the number of historical entries to - persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: - type: string - title: >- - min_commission_rate is the chain-wide minimum commission - rate that a validator can charge their delegators - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - tags: - - Msg - /ibc.applications.fee.v1.Msg/PayPacketFee: - post: - summary: >- - PayPacketFee defines a rpc handler method for MsgPayPacketFee - - PayPacketFee is an open callback that may be called by any module/user - that wishes to escrow funds in order to - - incentivize the relaying of the packet at the next sequence - - NOTE: This method is intended to be used within a multi msg transaction, - where the subsequent msg that follows - - initiates the lifecycle of the incentivized packet - operationId: IbcApplicationsFeeV1Msg_PayPacketFee - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgPayPacketFeeResponse defines the response type for the - PayPacketFee rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated - with an IBC packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - title: the packet timeout fee - source_port_id: - type: string - title: the source port unique identifier - source_channel_id: - type: string - title: the source channel unique identifer - signer: - type: string - title: account address to refund fee if necessary - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to the receive packet fees - title: >- - MsgPayPacketFee defines the request type for the PayPacketFee rpc - - This Msg can be used to pay for a packet at the next sequence send - & should be combined with the Msg that will be - - paid for - tags: - - Msg - /ibc.applications.fee.v1.Msg/PayPacketFeeAsync: - post: - summary: >- - PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync - - PayPacketFeeAsync is an open callback that may be called by any - module/user that wishes to escrow funds in order to - - incentivize the relaying of a known packet (i.e. at a particular - sequence) - operationId: IbcApplicationsFeeV1Msg_PayPacketFeeAsync - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgPayPacketFeeAsyncResponse defines the response type for the - PayPacketFeeAsync rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - packet_id: - title: >- - unique packet identifier comprised of the channel ID, port ID - and sequence - type: object - properties: - port_id: - type: string - title: channel port identifier - channel_id: - type: string - title: channel unique identifier - sequence: - type: string - format: uint64 - title: packet sequence - packet_fee: - title: the packet fee associated with a particular IBC packet - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated - with an IBC packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an - amount. - - - NOTE: The amount field is an Int which implements - the custom method - - signatures required by gogoproto. - title: the packet timeout fee - refund_address: - type: string - title: the refund address for unspent fees - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to receive fees - title: >- - MsgPayPacketFeeAsync defines the request type for the - PayPacketFeeAsync rpc - - This Msg can be used to pay for a packet at a specified sequence - (instead of the next sequence send) - tags: - - Msg - /ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee: - post: - summary: >- - RegisterCounterpartyPayee defines a rpc handler method for - MsgRegisterCounterpartyPayee - - RegisterCounterpartyPayee is called by the relayer on each channelEnd - and allows them to specify the counterparty - - payee address before relaying. This ensures they will be properly - compensated for forward relaying since - - the destination chain must include the registered counterparty payee - address in the acknowledgement. This function - - may be called more than once by a relayer, in which case, the latest - counterparty payee address is always used. - operationId: IbcApplicationsFeeV1Msg_RegisterCounterpartyPayee - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgRegisterCounterpartyPayeeResponse defines the response type for - the RegisterCounterpartyPayee rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - counterparty_payee: - type: string - title: the counterparty payee address - title: >- - MsgRegisterCounterpartyPayee defines the request type for the - RegisterCounterpartyPayee rpc - tags: - - Msg - /ibc.applications.fee.v1.Msg/RegisterPayee: - post: - summary: >- - RegisterPayee defines a rpc handler method for MsgRegisterPayee - - RegisterPayee is called by the relayer on each channelEnd and allows - them to set an optional - - payee to which reverse and timeout relayer packet fees will be paid out. - The payee should be registered on - - the source chain from which packets originate as this is where fee - distribution takes place. This function may be - - called more than once by a relayer, in which case, the latest payee is - always used. - operationId: IbcApplicationsFeeV1Msg_RegisterPayee - responses: - '200': - description: A successful response. - schema: - type: object - title: >- - MsgRegisterPayeeResponse defines the response type for the - RegisterPayee rpc - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - payee: - type: string - title: the payee address - title: >- - MsgRegisterPayee defines the request type for the RegisterPayee - rpc - tags: - - Msg - /ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount: - post: - summary: >- - RegisterInterchainAccount defines a rpc handler for - MsgRegisterInterchainAccount. - operationId: >- - IbcApplicationsInterchainAccountsControllerV1Msg_RegisterInterchainAccount - responses: - '200': - description: A successful response. - schema: - type: object - properties: - channel_id: - type: string - port_id: - type: string - title: >- - MsgRegisterInterchainAccountResponse defines the response for - Msg/RegisterAccount - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - owner: - type: string - connection_id: - type: string - version: - type: string - title: >- - MsgRegisterInterchainAccount defines the payload for - Msg/RegisterAccount - tags: - - Msg - /ibc.applications.interchain_accounts.controller.v1.Msg/SendTx: - post: - summary: SendTx defines a rpc handler for MsgSendTx. - operationId: IbcApplicationsInterchainAccountsControllerV1Msg_SendTx - responses: - '200': - description: A successful response. - schema: - type: object - properties: - sequence: - type: string - format: uint64 - title: MsgSendTxResponse defines the response for MsgSendTx - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - owner: - type: string - connection_id: - type: string - packet_data: - type: object - properties: - type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a - controller chain to its associated interchain accounts - - host - data: - type: string - format: byte - memo: - type: string - description: >- - InterchainAccountPacketData is comprised of a raw transaction, - type of transaction and optional memo field. - relative_timeout: - type: string - format: uint64 - description: >- - Relative timeout timestamp provided will be added to the - current block time during transaction execution. - - The timeout timestamp must be non-zero. - title: MsgSendTx defines the payload for Msg/SendTx - tags: - - Msg - /ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams: - post: - summary: UpdateParams defines a rpc handler for MsgUpdateParams. - operationId: IbcApplicationsInterchainAccountsControllerV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: >- - params defines the 27-interchain-accounts/controller - parameters to update. - - - NOTE: All parameters must be supplied. - type: object - properties: - controller_enabled: - type: boolean - description: >- - controller_enabled enables or disables the controller - submodule. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - tags: - - Msg - /ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams: - post: - summary: UpdateParams defines a rpc handler for MsgUpdateParams. - operationId: IbcApplicationsInterchainAccountsHostV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: >- - params defines the 27-interchain-accounts/host parameters to - update. - - - NOTE: All parameters must be supplied. - type: object - properties: - host_enabled: - type: boolean - description: host_enabled enables or disables the host submodule. - allow_messages: - type: array - items: - type: string - description: >- - allow_messages defines a list of sdk message typeURLs - allowed to be executed on a host chain. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - tags: - - Msg - /ibc.applications.transfer.v1.Msg/Transfer: - post: - summary: Transfer defines a rpc handler method for MsgTransfer. - operationId: IbcApplicationsTransferV1Msg_Transfer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - sequence: - type: string - format: uint64 - title: sequence number of the transfer packet sent - description: MsgTransferResponse defines the Msg/Transfer response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - source_port: - type: string - title: the port on which the packet will be sent - source_channel: - type: string - title: the channel by which the packet will be sent - token: - title: the tokens to be transferred - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - sender: - type: string - title: the sender address - receiver: - type: string - title: the recipient address on the destination chain - timeout_height: - description: |- - Timeout height relative to the current block height. - The timeout is disabled when set to 0. - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - timeout_timestamp: - type: string - format: uint64 - description: |- - Timeout timestamp in absolute nanoseconds since unix epoch. - The timeout is disabled when set to 0. - memo: - type: string - title: optional memo - title: >- - MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) - between - - ICS20 enabled chains. See ICS Spec here: - - https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures - tags: - - Msg - /ibc.applications.transfer.v1.Msg/UpdateParams: - post: - summary: UpdateParams defines a rpc handler for MsgUpdateParams. - operationId: IbcApplicationsTransferV1Msg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: MsgUpdateParams is the Msg/UpdateParams request type. - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the transfer parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token - transfers from this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this - - chain. - description: MsgUpdateParams is the Msg/UpdateParams request type. - tags: - - Msg - /ibc.core.channel.v1.Msg/Acknowledgement: - post: - summary: Acknowledgement defines a rpc handler method for MsgAcknowledgement. - operationId: IbcCoreChannelV1Msg_Acknowledgement - responses: - '200': - description: A successful response. - schema: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: >- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value - enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the - execution of a message - description: >- - MsgAcknowledgementResponse defines the Msg/Acknowledgement - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, - where a Packet - - with an earlier sequence number must be sent and received - before a Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: >- - actual opaque bytes transferred directly to the - application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms - may choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as - the RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: >- - block timestamp (in nanoseconds) after which the packet - times out - title: >- - Packet defines a type that carries data across different - chains through IBC - acknowledgement: - type: string - format: byte - proof_acked: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - title: MsgAcknowledgement receives incoming IBC acknowledgement - tags: - - Msg - /ibc.core.channel.v1.Msg/ChannelCloseConfirm: - post: - summary: |- - ChannelCloseConfirm defines a rpc handler method for - MsgChannelCloseConfirm. - operationId: IbcCoreChannelV1Msg_ChannelCloseConfirm - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B - to acknowledge the change of channel state to CLOSED on Chain A. - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - channel_id: - type: string - proof_init: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - description: |- - MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B - to acknowledge the change of channel state to CLOSED on Chain A. - tags: - - Msg - /ibc.core.channel.v1.Msg/ChannelCloseInit: - post: - summary: ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit. - operationId: IbcCoreChannelV1Msg_ChannelCloseInit - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgChannelCloseInit defines a msg sent by a Relayer to Chain A - to close a channel with Chain B. - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - channel_id: - type: string - signer: - type: string - description: |- - MsgChannelCloseInit defines a msg sent by a Relayer to Chain A - to close a channel with Chain B. - tags: - - Msg - /ibc.core.channel.v1.Msg/ChannelOpenAck: - post: - summary: ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck. - operationId: IbcCoreChannelV1Msg_ChannelOpenAck - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge - - the change of channel state to TRYOPEN on Chain B. - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - channel_id: - type: string - counterparty_channel_id: - type: string - counterparty_version: - type: string - proof_try: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - description: >- - MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge - - the change of channel state to TRYOPEN on Chain B. - tags: - - Msg - /ibc.core.channel.v1.Msg/ChannelOpenConfirm: - post: - summary: >- - ChannelOpenConfirm defines a rpc handler method for - MsgChannelOpenConfirm. - operationId: IbcCoreChannelV1Msg_ChannelOpenConfirm - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to - acknowledge the change of channel state to OPEN on Chain A. - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - channel_id: - type: string - proof_ack: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - description: >- - MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B - to - - acknowledge the change of channel state to OPEN on Chain A. - tags: - - Msg - /ibc.core.channel.v1.Msg/ChannelOpenInit: - post: - summary: ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit. - operationId: IbcCoreChannelV1Msg_ChannelOpenInit - responses: - '200': - description: A successful response. - schema: - type: object - properties: - channel_id: - type: string - version: - type: string - description: >- - MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgChannelOpenInit defines an sdk.Msg to initialize a channel - handshake. It - - is called by a relayer on Chain A. - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - channel: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: >- - State defines if a channel is in one of the following - states: - - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other - end of the channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which - packets sent on - - this channel will travel - version: - type: string - title: >- - opaque channel version, which is agreed upon during the - handshake - description: >- - Channel defines pipeline for exactly-once packet delivery - between specific - - modules on separate blockchains, which has at least one end - capable of - - sending packets and one end capable of receiving packets. - signer: - type: string - description: >- - MsgChannelOpenInit defines an sdk.Msg to initialize a channel - handshake. It - - is called by a relayer on Chain A. - tags: - - Msg - /ibc.core.channel.v1.Msg/ChannelOpenTry: - post: - summary: ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry. - operationId: IbcCoreChannelV1Msg_ChannelOpenTry - responses: - '200': - description: A successful response. - schema: - type: object - properties: - version: - type: string - channel_id: - type: string - description: >- - MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgChannelOpenInit defines a msg sent by a Relayer to try to open a - channel - - on Chain B. The version field within the Channel field has been - deprecated. Its - - value will be ignored by core IBC. - in: body - required: true - schema: - type: object - properties: - port_id: - type: string - previous_channel_id: - type: string - description: >- - Deprecated: this field is unused. Crossing hello's are no - longer supported in core IBC. - channel: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: >- - State defines if a channel is in one of the following - states: - - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other - end of the channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which - packets sent on - - this channel will travel - version: - type: string - title: >- - opaque channel version, which is agreed upon during the - handshake - description: >- - Channel defines pipeline for exactly-once packet delivery - between specific - - modules on separate blockchains, which has at least one end - capable of - - sending packets and one end capable of receiving packets. - counterparty_version: - type: string - proof_init: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - description: >- - MsgChannelOpenInit defines a msg sent by a Relayer to try to open - a channel - - on Chain B. The version field within the Channel field has been - deprecated. Its - - value will be ignored by core IBC. - tags: - - Msg - /ibc.core.channel.v1.Msg/RecvPacket: - post: - summary: RecvPacket defines a rpc handler method for MsgRecvPacket. - operationId: IbcCoreChannelV1Msg_RecvPacket - responses: - '200': - description: A successful response. - schema: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: >- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value - enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the - execution of a message - description: MsgRecvPacketResponse defines the Msg/RecvPacket response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, - where a Packet - - with an earlier sequence number must be sent and received - before a Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: >- - actual opaque bytes transferred directly to the - application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms - may choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as - the RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: >- - block timestamp (in nanoseconds) after which the packet - times out - title: >- - Packet defines a type that carries data across different - chains through IBC - proof_commitment: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - title: MsgRecvPacket receives incoming IBC packet - tags: - - Msg - /ibc.core.channel.v1.Msg/Timeout: - post: - summary: Timeout defines a rpc handler method for MsgTimeout. - operationId: IbcCoreChannelV1Msg_Timeout - responses: - '200': - description: A successful response. - schema: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: >- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value - enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the - execution of a message - description: MsgTimeoutResponse defines the Msg/Timeout response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, - where a Packet - - with an earlier sequence number must be sent and received - before a Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: >- - actual opaque bytes transferred directly to the - application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms - may choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as - the RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: >- - block timestamp (in nanoseconds) after which the packet - times out - title: >- - Packet defines a type that carries data across different - chains through IBC - proof_unreceived: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - next_sequence_recv: - type: string - format: uint64 - signer: - type: string - title: MsgTimeout receives timed-out packet - tags: - - Msg - /ibc.core.channel.v1.Msg/TimeoutOnClose: - post: - summary: TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose. - operationId: IbcCoreChannelV1Msg_TimeoutOnClose - responses: - '200': - description: A successful response. - schema: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: >- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value - enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the - execution of a message - description: >- - MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgTimeoutOnClose timed-out packet upon counterparty channel - closure. - in: body - required: true - schema: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, - where a Packet - - with an earlier sequence number must be sent and received - before a Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: >- - actual opaque bytes transferred directly to the - application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms - may choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as - the RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: >- - block timestamp (in nanoseconds) after which the packet - times out - title: >- - Packet defines a type that carries data across different - chains through IBC - proof_unreceived: - type: string - format: byte - proof_close: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - next_sequence_recv: - type: string - format: uint64 - signer: - type: string - description: >- - MsgTimeoutOnClose timed-out packet upon counterparty channel - closure. - tags: - - Msg - /ibc.core.client.v1.Msg/CreateClient: - post: - summary: CreateClient defines a rpc handler method for MsgCreateClient. - operationId: IbcCoreClientV1Msg_CreateClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgCreateClientResponse defines the Msg/CreateClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - client_state: - title: light client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - description: >- - consensus state associated with the client that corresponds to - a given - - height. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: MsgCreateClient defines a message to create an IBC client - tags: - - Msg - /ibc.core.client.v1.Msg/IBCSoftwareUpgrade: - post: - summary: >- - IBCSoftwareUpgrade defines a rpc handler method for - MsgIBCSoftwareUpgrade. - operationId: IbcCoreClientV1Msg_IBCSoftwareUpgrade - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by - the upgraded - - version of the software to apply any special "on-upgrade" - commands during - - the first BeginBlock method after the upgrade is applied. - It is also used - - to detect whether a software version can handle a given - upgrade. If no - - upgrade handler with this name has been set in the - software, it will be - - assumed that the software is out-of-date when the upgrade - Time or Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time - based upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: The height at which the upgrade must be performed. - info: - type: string - title: >- - Any application specific upgrade info to be included - on-chain - - such as a git commit that validators could automatically - upgrade to - upgraded_client_state: - description: >- - Deprecated: UpgradedClientState field has been deprecated. - IBC upgrade logic has been - - moved to the IBC module in the sub module 02-client. - - If this field is not empty, an error will be thrown. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type - of the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be - in a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can - optionally set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results - based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no - widely used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it - should occur. - upgraded_client_state: - description: >- - An UpgradedClientState must be provided to perform an IBC - breaking upgrade. - - This will make the chain commit to the correct upgraded (self) - client state - - before the upgrade occurs, so that connecting chains can - verify that the - - new upgraded client is valid by verifying a proof on the - previous version - - of the chain. This will allow IBC connections to persist - smoothly across - - planned chain upgrades. Correspondingly, the - UpgradedClientState field has been - - deprecated in the Cosmos SDK to allow for this logic to exist - solely in - - the 02-client module. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: >- - MsgIBCSoftwareUpgrade defines the message used to schedule an - upgrade of an IBC client using a v1 governance proposal - tags: - - Msg - /ibc.core.client.v1.Msg/RecoverClient: - post: - summary: RecoverClient defines a rpc handler method for MsgRecoverClient. - operationId: IbcCoreClientV1Msg_RecoverClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgRecoverClientResponse defines the Msg/RecoverClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgRecoverClient defines the message used to recover a frozen or - expired client. - in: body - required: true - schema: - type: object - properties: - subject_client_id: - type: string - title: >- - the client identifier for the client to be updated if the - proposal passes - substitute_client_id: - type: string - title: >- - the substitute client identifier for the client which will - replace the subject - - client - signer: - type: string - title: signer address - description: >- - MsgRecoverClient defines the message used to recover a frozen or - expired client. - tags: - - Msg - /ibc.core.client.v1.Msg/SubmitMisbehaviour: - post: - summary: >- - SubmitMisbehaviour defines a rpc handler method for - MsgSubmitMisbehaviour. - operationId: IbcCoreClientV1Msg_SubmitMisbehaviour - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence - for - - light client misbehaviour. - - This message has been deprecated. Use MsgUpdateClient instead. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - title: client unique identifier - misbehaviour: - title: misbehaviour used for freezing the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: >- - MsgSubmitMisbehaviour defines an sdk.Msg type that submits - Evidence for - - light client misbehaviour. - - This message has been deprecated. Use MsgUpdateClient instead. - tags: - - Msg - /ibc.core.client.v1.Msg/UpdateClient: - post: - summary: UpdateClient defines a rpc handler method for MsgUpdateClient. - operationId: IbcCoreClientV1Msg_UpdateClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateClientResponse defines the Msg/UpdateClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUpdateClient defines an sdk.Msg to update a IBC client state - using - - the given client message. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_message: - title: client message to update the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: >- - MsgUpdateClient defines an sdk.Msg to update a IBC client state - using - - the given client message. - tags: - - Msg - /ibc.core.client.v1.Msg/UpdateClientParams: - post: - summary: UpdateClientParams defines a rpc handler method for MsgUpdateParams. - operationId: IbcCoreClientV1Msg_UpdateClientParams - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUpdateParams defines the sdk.Msg type to update the client - parameters. - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the client parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: >- - allowed_clients defines the list of allowed client state - types which can be created - - and interacted with. If a client type is removed from the - allowed clients list, usage - - of this client will be disabled until it is added again to - the list. - description: >- - MsgUpdateParams defines the sdk.Msg type to update the client - parameters. - tags: - - Msg - /ibc.core.client.v1.Msg/UpgradeClient: - post: - summary: UpgradeClient defines a rpc handler method for MsgUpgradeClient. - operationId: IbcCoreClientV1Msg_UpgradeClient - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpgradeClientResponse defines the Msg/UpgradeClient response - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_state: - title: upgraded client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - title: >- - upgraded consensus state, only contains enough information to - serve as a - - basis of trust in update logic - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_upgrade_client: - type: string - format: byte - title: proof that old chain committed to new client - proof_upgrade_consensus_state: - type: string - format: byte - title: proof that old chain committed to new consensus state - signer: - type: string - title: signer address - title: >- - MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a - new client - - state - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenAck: - post: - summary: ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenAck - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: |- - MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge the change of connection state to TRYOPEN on Chain B. - in: body - required: true - schema: - type: object - properties: - connection_id: - type: string - counterparty_connection_id: - type: string - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - proof_try: - type: string - format: byte - title: >- - proof of the initialization the connection on Chain B: - `UNITIALIZED -> - - TRYOPEN` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: |- - MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge the change of connection state to TRYOPEN on Chain B. - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenConfirm: - post: - summary: |- - ConnectionOpenConfirm defines a rpc handler method for - MsgConnectionOpenConfirm. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenConfirm - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenConfirmResponse defines the - Msg/ConnectionOpenConfirm - - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B - to - - acknowledge the change of connection state to OPEN on Chain A. - in: body - required: true - schema: - type: object - properties: - connection_id: - type: string - proof_ack: - type: string - format: byte - title: >- - proof for the change of the connection state on Chain A: `INIT - -> OPEN` - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - description: >- - MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain - B to - - acknowledge the change of connection state to OPEN on Chain A. - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenInit: - post: - summary: >- - ConnectionOpenInit defines a rpc handler method for - MsgConnectionOpenInit. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenInit - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit - response - - type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgConnectionOpenInit defines the msg sent by an account on Chain A - to - - initialize a connection with Chain B. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated - with a given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain - associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - delay_period: - type: string - format: uint64 - signer: - type: string - description: >- - MsgConnectionOpenInit defines the msg sent by an account on Chain - A to - - initialize a connection with Chain B. - tags: - - Msg - /ibc.core.connection.v1.Msg/ConnectionOpenTry: - post: - summary: ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry. - operationId: IbcCoreConnectionV1Msg_ConnectionOpenTry - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry - response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgConnectionOpenTry defines a msg sent by a Relayer to try to open - a - - connection on Chain B. - in: body - required: true - schema: - type: object - properties: - client_id: - type: string - previous_connection_id: - type: string - description: >- - Deprecated: this field is unused. Crossing hellos are no - longer supported in core IBC. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in - the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default - use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last - '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated - with a given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain - associated with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - delay_period: - type: string - format: uint64 - counterparty_versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: >- - list of features compatible with the specified - identifier - description: >- - Version defines the versioning scheme used to negotiate the - IBC verison in - - the connection handshake. - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - proof_init: - type: string - format: byte - title: >- - proof of the initialization the connection on Chain A: - `UNITIALIZED -> - - INIT` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height - while keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is - incremented so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes - of updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: >- - MsgConnectionOpenTry defines a msg sent by a Relayer to try to - open a - - connection on Chain B. - tags: - - Msg - /ibc.core.connection.v1.Msg/UpdateConnectionParams: - post: - summary: |- - UpdateConnectionParams defines a rpc handler method for - MsgUpdateParams. - operationId: IbcCoreConnectionV1Msg_UpdateConnectionParams - responses: - '200': - description: A successful response. - schema: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least - - one "/" character. The last segment of the URL's path - must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in - a canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary - all types that they - - expect it to use in the context of Any. However, for - URLs which use the - - scheme `http`, `https`, or no scheme, one can optionally - set up a type - - server that maps type URLs to message definitions as - follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a - [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based - on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in - the official - - protobuf release, and it is not used for type URLs - beginning with - - type.googleapis.com. As of May 2023, there are no widely - used type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form - - of utility functions or additional generated methods of the - Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by - default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the - last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield - type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with - an - - additional field `@type` which contains the type URL. - Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON - - representation, that representation will be embedded adding - a field - - `value` which holds the custom JSON in addition to the - `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: body - description: >- - MsgUpdateParams defines the sdk.Msg type to update the connection - parameters. - in: body - required: true - schema: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the connection parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_expected_time_per_block: - type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to - enforce block delay. This parameter should reflect the - - largest amount of time that the chain might reasonably - take to produce the next block under normal operating - - conditions. A safe choice is 3-5x the expected time per - block. - description: >- - MsgUpdateParams defines the sdk.Msg type to update the connection - parameters. - tags: - - Msg - /blockheight: - get: - operationId: StructsStructsQuery_GetBlockHeight - responses: - '200': - description: A successful response. - schema: - type: object - properties: - blockHeight: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /structs/address: - get: - operationId: StructsStructsQuery_AddressAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - address: - type: array - items: - type: object - properties: - address: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/address/{address}: - get: - summary: Queries for Addresses. - operationId: StructsStructsQuery_Address - responses: - '200': - description: A successful response. - schema: - type: object - properties: - address: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: address - in: path - required: true - type: string - tags: - - Query - /structs/address_by_player/{playerId}: - get: - operationId: StructsStructsQuery_AddressAllByPlayer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - address: - type: array - items: - type: object - properties: - address: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: playerId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/agreement: - get: - operationId: StructsStructsQuery_AgreementAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Agreement: - type: array - items: - type: object - properties: - id: - type: string - providerId: - type: string - allocationId: - type: string - capacity: - type: string - format: uint64 - startBlock: - type: string - format: uint64 - endBlock: - type: string - format: uint64 - creator: - type: string - owner: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/agreement/{id}: - get: - summary: Queries a list of Agreement items. - operationId: StructsStructsQuery_Agreement - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Agreement: - type: object - properties: - id: - type: string - providerId: - type: string - allocationId: - type: string - capacity: - type: string - format: uint64 - startBlock: - type: string - format: uint64 - endBlock: - type: string - format: uint64 - creator: - type: string - owner: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/agreement_by_provider/{providerId}: - get: - operationId: StructsStructsQuery_AgreementAllByProvider - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Agreement: - type: array - items: - type: object - properties: - id: - type: string - providerId: - type: string - allocationId: - type: string - capacity: - type: string - format: uint64 - startBlock: - type: string - format: uint64 - endBlock: - type: string - format: uint64 - creator: - type: string - owner: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: providerId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/allocation: - get: - operationId: StructsStructsQuery_AllocationAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Allocation: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/allocation/{id}: - get: - summary: Queries a list of Allocation items. - operationId: StructsStructsQuery_Allocation - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Allocation: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/allocation_by_destination/{destinationId}: - get: - operationId: StructsStructsQuery_AllocationAllByDestination - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Allocation: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: destinationId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/allocation_by_source/{sourceId}: - get: - operationId: StructsStructsQuery_AllocationAllBySource - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Allocation: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: sourceId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/fleet: - get: - operationId: StructsStructsQuery_FleetAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Fleet: - type: array - items: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/fleet/{id}: - get: - summary: Queries a list of Fleet items. - operationId: StructsStructsQuery_Fleet - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/fleet_by_index/{index}: - get: - operationId: StructsStructsQuery_FleetByIndex - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: index - in: path - required: true - type: string - format: uint64 - tags: - - Query - /structs/grid: - get: - summary: Queries a list of all Grid details - operationId: StructsStructsQuery_GridAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - gridRecords: - type: array - items: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/grid/{attributeId}: - get: - summary: Queries a specific Grid details - operationId: StructsStructsQuery_Grid - responses: - '200': - description: A successful response. - schema: - type: object - properties: - gridRecord: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - title: Generic Responses for Permissions - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: attributeId - in: path - required: true - type: string - tags: - - Query - /structs/guild: - get: - operationId: StructsStructsQuery_GuildAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Guild: - type: array - items: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - endpoint: - type: string - creator: - type: string - owner: - type: string - joinInfusionMinimum: - type: string - format: uint64 - joinInfusionMinimumBypassByRequest: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - joinInfusionMinimumBypassByInvite: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - primaryReactorId: - type: string - entrySubstationId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/guild/{id}: - get: - summary: Queries a list of Guild items. - operationId: StructsStructsQuery_Guild - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Guild: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - endpoint: - type: string - creator: - type: string - owner: - type: string - joinInfusionMinimum: - type: string - format: uint64 - joinInfusionMinimumBypassByRequest: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - joinInfusionMinimumBypassByInvite: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - primaryReactorId: - type: string - entrySubstationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/guild_bank_collateral_address: - get: - operationId: StructsStructsQuery_GuildBankCollateralAddressAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/guild_bank_collateral_address/{guildId}: - get: - operationId: StructsStructsQuery_GuildBankCollateralAddress - responses: - '200': - description: A successful response. - schema: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: guildId - in: path - required: true - type: string - tags: - - Query - /structs/guild_membership_application: - get: - operationId: StructsStructsQuery_GuildMembershipApplicationAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - GuildMembershipApplication: - type: array - items: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/guild_membership_application/{guildId}/{playerId}: - get: - operationId: StructsStructsQuery_GuildMembershipApplication - responses: - '200': - description: A successful response. - schema: - type: object - properties: - GuildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: guildId - in: path - required: true - type: string - - name: playerId - in: path - required: true - type: string - tags: - - Query - /structs/infusion: - get: - operationId: StructsStructsQuery_InfusionAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Infusion: - type: array - items: - type: object - properties: - destinationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - destinationId: - type: string - fuel: - type: string - format: uint64 - power: - type: string - format: uint64 - commission: - type: string - playerId: - type: string - address: - type: string - ratio: - type: string - format: uint64 - defusing: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/infusion/{destinationId}/{address}: - get: - summary: Queries a list of Infusions. - operationId: StructsStructsQuery_Infusion - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Infusion: - type: object - properties: - destinationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - destinationId: - type: string - fuel: - type: string - format: uint64 - power: - type: string - format: uint64 - commission: - type: string - playerId: - type: string - address: - type: string - ratio: - type: string - format: uint64 - defusing: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: destinationId - in: path - required: true - type: string - - name: address - in: path - required: true - type: string - tags: - - Query - /structs/infusion_by_destination/{destinationId}: - get: - operationId: StructsStructsQuery_InfusionAllByDestination - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Infusion: - type: array - items: - type: object - properties: - destinationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - destinationId: - type: string - fuel: - type: string - format: uint64 - power: - type: string - format: uint64 - commission: - type: string - playerId: - type: string - address: - type: string - ratio: - type: string - format: uint64 - defusing: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: destinationId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/permission: - get: - summary: Queries a list of all Permissions - operationId: StructsStructsQuery_PermissionAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - permissionRecords: - type: array - items: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/permission/object/{objectId}: - get: - summary: Queries a list of Permissions based on Object - operationId: StructsStructsQuery_PermissionByObject - responses: - '200': - description: A successful response. - schema: - type: object - properties: - permissionRecords: - type: array - items: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: objectId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/permission/player/{playerId}: - get: - summary: Queries a list of Permissions based on the Player with the permissions - operationId: StructsStructsQuery_PermissionByPlayer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - permissionRecords: - type: array - items: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: playerId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/permission/{permissionId}: - get: - summary: Queries a specific Permission - operationId: StructsStructsQuery_Permission - responses: - '200': - description: A successful response. - schema: - type: object - properties: - permissionRecord: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - title: Generic Responses for Permissions - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: permissionId - in: path - required: true - type: string - tags: - - Query - /structs/planet: - get: - operationId: StructsStructsQuery_PlanetAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Planet: - type: array - items: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/planet/{id}: - get: - summary: Queries a list of Planet items. - operationId: StructsStructsQuery_Planet - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - planetAttributes: - type: object - properties: - planetaryShield: - type: string - format: uint64 - repairNetworkQuantity: - type: string - format: uint64 - defensiveCannonQuantity: - type: string - format: uint64 - coordinatedGlobalShieldNetworkQuantity: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkQuantity: - type: string - format: uint64 - advancedLowOrbitBallisticsInterceptorNetworkQuantity: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkSuccessRateNumerator: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkSuccessRateDenominator: - type: string - format: uint64 - orbitalJammingStationQuantity: - type: string - format: uint64 - advancedOrbitalJammingStationQuantity: - type: string - format: uint64 - blockStartRaid: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/planet_attribute: - get: - summary: Queries a list of all Planet Attributes - operationId: StructsStructsQuery_PlanetAttributeAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - planetAttributeRecords: - type: array - items: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/planet_attribute/{planetId}/{attributeType}: - get: - operationId: StructsStructsQuery_PlanetAttribute - responses: - '200': - description: A successful response. - schema: - type: object - properties: - attribute: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: planetId - in: path - required: true - type: string - - name: attributeType - in: path - required: true - type: string - tags: - - Query - /structs/planet_by_player/{playerId}: - get: - operationId: StructsStructsQuery_PlanetAllByPlayer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Planet: - type: array - items: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: playerId - in: path - required: true - type: string - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/player: - get: - operationId: StructsStructsQuery_PlayerAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Player: - type: array - items: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - guildId: - type: string - substationId: - type: string - creator: - type: string - primaryAddress: - type: string - planetId: - type: string - fleetId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/player/{id}: - get: - summary: Queries a list of Player items. - operationId: StructsStructsQuery_Player - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Player: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - guildId: - type: string - substationId: - type: string - creator: - type: string - primaryAddress: - type: string - planetId: - type: string - fleetId: - type: string - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - playerInventory: - type: object - properties: - rocks: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - halted: - type: boolean - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/player_halted: - get: - operationId: StructsStructsQuery_PlayerHaltedAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - PlayerId: - type: array - items: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /structs/provider: - get: - operationId: StructsStructsQuery_ProviderAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Provider: - type: array - items: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - creator: - type: string - owner: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/provider/{id}: - get: - summary: Queries a list of Allocation items. - operationId: StructsStructsQuery_Provider - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Provider: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the - custom method - - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - creator: - type: string - owner: - type: string - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/provider_collateral_address: - get: - operationId: StructsStructsQuery_ProviderCollateralAddressAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/provider_collateral_address/{providerId}: - get: - operationId: StructsStructsQuery_ProviderCollateralAddress - responses: - '200': - description: A successful response. - schema: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: providerId - in: path - required: true - type: string - tags: - - Query - /structs/provider_earnings_address: - get: - operationId: StructsStructsQuery_ProviderEarningsAddressAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/provider_earnings_address/{providerId}: - get: - summary: >- - TODO Requires a lookup table that I don't know if we care about - - rpc ProviderByCollateralAddress - (QueryGetProviderByCollateralAddressRequest) returns - (QueryGetProviderResponse) { - - option (google.api.http).get = - "/structs/provider_by_collateral_address/{address}"; - - } - operationId: StructsStructsQuery_ProviderEarningsAddress - responses: - '200': - description: A successful response. - schema: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: providerId - in: path - required: true - type: string - tags: - - Query - /structs/reactor: - get: - operationId: StructsStructsQuery_ReactorAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Reactor: - type: array - items: - type: object - properties: - id: - type: string - validator: - type: string - guildId: - type: string - defaultCommission: - type: string - rawAddress: - type: string - format: byte - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/reactor/{id}: - get: - summary: Queries a list of Reactor items. - operationId: StructsStructsQuery_Reactor - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Reactor: - type: object - properties: - id: - type: string - validator: - type: string - guildId: - type: string - defaultCommission: - type: string - rawAddress: - type: string - format: byte - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/struct: - get: - operationId: StructsStructsQuery_StructAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Struct: - type: array - items: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/struct/{id}: - get: - summary: Queries a list of Structs items. - operationId: StructsStructsQuery_Struct - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structAttributes: - type: object - properties: - health: - type: string - format: uint64 - status: - type: string - format: uint64 - blockStartBuild: - type: string - format: uint64 - blockStartOreMine: - type: string - format: uint64 - blockStartOreRefine: - type: string - format: uint64 - protectedStructIndex: - type: string - format: uint64 - typeCount: - type: string - format: uint64 - isMaterialized: - type: boolean - isBuilt: - type: boolean - isOnline: - type: boolean - isHidden: - type: boolean - isDestroyed: - type: boolean - isLocked: - type: boolean - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structDefenders: - type: array - items: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/struct_attribute: - get: - summary: Queries a list of all Struct Attributes - operationId: StructsStructsQuery_StructAttributeAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - structAttributeRecords: - type: array - items: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/struct_attribute/{structId}/{attributeType}: - get: - operationId: StructsStructsQuery_StructAttribute - responses: - '200': - description: A successful response. - schema: - type: object - properties: - attribute: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: structId - in: path - required: true - type: string - - name: attributeType - in: path - required: true - type: string - tags: - - Query - /structs/struct_type: - get: - operationId: StructsStructsQuery_StructTypeAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - StructType: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - type: - type: string - description: TODO Deprecating... Will match with Class for now. - class: - type: string - title: New Struct Type Identity Details - classAbbreviation: - type: string - defaultCosmeticModelNumber: - type: string - defaultCosmeticName: - type: string - category: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - description: Planet or Fleet - title: Fundamental attributes - buildLimit: - type: string - format: uint64 - title: How many of this Struct Type a player can have - buildDifficulty: - type: string - format: uint64 - title: How much compute is needed to build - buildDraw: - type: string - format: uint64 - title: How much energy the Struct consumes during building - maxHealth: - type: string - format: uint64 - title: How much damage can it take - passiveDraw: - type: string - format: uint64 - title: How much energy the Struct consumes when active - possibleAmbit: - type: string - format: uint64 - description: >- - Where can it be built and moved to. Usually only a - single ambit but some Structs have multiple possible - (i.e. Command Ship) - title: |- - Details about location and movement - TODO move category to here and make it flag based too - Replicate what was done for ambits flags - movable: - type: boolean - title: Can the Struct change ambit? - slotBound: - type: boolean - title: >- - Does the Struct occupy a slot. Trying to find something - to help set Command Ships apart - primaryWeapon: - title: Primary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - primaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - primaryWeaponCharge: - type: string - format: uint64 - primaryWeaponAmbits: - type: string - format: uint64 - primaryWeaponTargets: - type: string - format: uint64 - primaryWeaponShots: - type: string - format: uint64 - primaryWeaponDamage: - type: string - format: uint64 - primaryWeaponBlockable: - type: boolean - primaryWeaponCounterable: - type: boolean - primaryWeaponRecoilDamage: - type: string - format: uint64 - primaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - primaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - secondaryWeapon: - title: Secondary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - secondaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - secondaryWeaponCharge: - type: string - format: uint64 - secondaryWeaponAmbits: - type: string - format: uint64 - secondaryWeaponTargets: - type: string - format: uint64 - secondaryWeaponShots: - type: string - format: uint64 - secondaryWeaponDamage: - type: string - format: uint64 - secondaryWeaponBlockable: - type: boolean - secondaryWeaponCounterable: - type: boolean - secondaryWeaponRecoilDamage: - type: string - format: uint64 - secondaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - secondaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - passiveWeaponry: - title: Tech Tree Features - type: string - enum: - - noPassiveWeaponry - - counterAttack - - strongCounterAttack - - advancedCounterAttack - - lastResort - default: noPassiveWeaponry - unitDefenses: - type: string - enum: - - noUnitDefenses - - defensiveManeuver - - signalJamming - - armour - - indirectCombatModule - - stealthMode - - perimeterFencing - - reinforcedWalls - default: noUnitDefenses - oreReserveDefenses: - type: string - enum: - - noOreReserveDefenses - - coordinatedReserveResponseTracker - - rapidResponsePackage - - activeScanning - - monitoringStation - - oreBunker - default: noOreReserveDefenses - planetaryDefenses: - type: string - enum: - - noPlanetaryDefense - - defensiveCannon - - lowOrbitBallisticInterceptorNetwork - default: noPlanetaryDefense - title: >- - - lowOrbitBallisticInterceptorNetwork: - advancedLowOrbitBallisticInterceptorNetwork = 3; - - repairNetwork = 4; - - coordinatedGlobalShieldNetwork = 5; - - orbitalJammingStation = 6; - - advancedOrbitalJammingStation = 7; - planetaryMining: - type: string - enum: - - noPlanetaryMining - - oreMiningRig - default: noPlanetaryMining - planetaryRefinery: - type: string - enum: - - noPlanetaryRefinery - - oreRefinery - default: noPlanetaryRefinery - powerGeneration: - type: string - enum: - - noPowerGeneration - - smallGenerator - - mediumGenerator - - largeGenerator - default: noPowerGeneration - activateCharge: - type: string - format: uint64 - title: Charge uses - buildCharge: - type: string - format: uint64 - defendChangeCharge: - type: string - format: uint64 - moveCharge: - type: string - format: uint64 - oreMiningCharge: - type: string - format: uint64 - oreRefiningCharge: - type: string - format: uint64 - stealthActivateCharge: - type: string - format: uint64 - attackReduction: - type: string - format: uint64 - description: For Defensive Cannon - title: Tech Tree Attributes - attackCounterable: - type: boolean - title: For Indirect Combat Module - stealthSystems: - type: boolean - title: For Stealth Mode - counterAttack: - type: string - format: uint64 - title: Counter - counterAttackSameAmbit: - type: string - format: uint64 - title: Advanced Counter - postDestructionDamage: - type: string - format: uint64 - generatingRate: - type: string - format: uint64 - title: Power Generation - planetaryShieldContribution: - type: string - format: uint64 - title: The shield that is added to the Planet - oreMiningDifficulty: - type: string - format: uint64 - oreRefiningDifficulty: - type: string - format: uint64 - unguidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - unguidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - guidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - guidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - triggerRaidDefeatByDestruction: - type: boolean - description: >- - I wish this was higher up in a different area of the - definition - - but I really don't feel like renumbering this entire - thing again. - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/struct_type/{id}: - get: - summary: Queries a list of Struct Types items. - operationId: StructsStructsQuery_StructType - responses: - '200': - description: A successful response. - schema: - type: object - properties: - StructType: - type: object - properties: - id: - type: string - format: uint64 - type: - type: string - description: TODO Deprecating... Will match with Class for now. - class: - type: string - title: New Struct Type Identity Details - classAbbreviation: - type: string - defaultCosmeticModelNumber: - type: string - defaultCosmeticName: - type: string - category: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - description: Planet or Fleet - title: Fundamental attributes - buildLimit: - type: string - format: uint64 - title: How many of this Struct Type a player can have - buildDifficulty: - type: string - format: uint64 - title: How much compute is needed to build - buildDraw: - type: string - format: uint64 - title: How much energy the Struct consumes during building - maxHealth: - type: string - format: uint64 - title: How much damage can it take - passiveDraw: - type: string - format: uint64 - title: How much energy the Struct consumes when active - possibleAmbit: - type: string - format: uint64 - description: >- - Where can it be built and moved to. Usually only a single - ambit but some Structs have multiple possible (i.e. - Command Ship) - title: |- - Details about location and movement - TODO move category to here and make it flag based too - Replicate what was done for ambits flags - movable: - type: boolean - title: Can the Struct change ambit? - slotBound: - type: boolean - title: >- - Does the Struct occupy a slot. Trying to find something to - help set Command Ships apart - primaryWeapon: - title: Primary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - primaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - primaryWeaponCharge: - type: string - format: uint64 - primaryWeaponAmbits: - type: string - format: uint64 - primaryWeaponTargets: - type: string - format: uint64 - primaryWeaponShots: - type: string - format: uint64 - primaryWeaponDamage: - type: string - format: uint64 - primaryWeaponBlockable: - type: boolean - primaryWeaponCounterable: - type: boolean - primaryWeaponRecoilDamage: - type: string - format: uint64 - primaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - primaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - secondaryWeapon: - title: Secondary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - secondaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - secondaryWeaponCharge: - type: string - format: uint64 - secondaryWeaponAmbits: - type: string - format: uint64 - secondaryWeaponTargets: - type: string - format: uint64 - secondaryWeaponShots: - type: string - format: uint64 - secondaryWeaponDamage: - type: string - format: uint64 - secondaryWeaponBlockable: - type: boolean - secondaryWeaponCounterable: - type: boolean - secondaryWeaponRecoilDamage: - type: string - format: uint64 - secondaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - secondaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - passiveWeaponry: - title: Tech Tree Features - type: string - enum: - - noPassiveWeaponry - - counterAttack - - strongCounterAttack - - advancedCounterAttack - - lastResort - default: noPassiveWeaponry - unitDefenses: - type: string - enum: - - noUnitDefenses - - defensiveManeuver - - signalJamming - - armour - - indirectCombatModule - - stealthMode - - perimeterFencing - - reinforcedWalls - default: noUnitDefenses - oreReserveDefenses: - type: string - enum: - - noOreReserveDefenses - - coordinatedReserveResponseTracker - - rapidResponsePackage - - activeScanning - - monitoringStation - - oreBunker - default: noOreReserveDefenses - planetaryDefenses: - type: string - enum: - - noPlanetaryDefense - - defensiveCannon - - lowOrbitBallisticInterceptorNetwork - default: noPlanetaryDefense - title: >- - - lowOrbitBallisticInterceptorNetwork: - advancedLowOrbitBallisticInterceptorNetwork = 3; - - repairNetwork = 4; - - coordinatedGlobalShieldNetwork = 5; - - orbitalJammingStation = 6; - - advancedOrbitalJammingStation = 7; - planetaryMining: - type: string - enum: - - noPlanetaryMining - - oreMiningRig - default: noPlanetaryMining - planetaryRefinery: - type: string - enum: - - noPlanetaryRefinery - - oreRefinery - default: noPlanetaryRefinery - powerGeneration: - type: string - enum: - - noPowerGeneration - - smallGenerator - - mediumGenerator - - largeGenerator - default: noPowerGeneration - activateCharge: - type: string - format: uint64 - title: Charge uses - buildCharge: - type: string - format: uint64 - defendChangeCharge: - type: string - format: uint64 - moveCharge: - type: string - format: uint64 - oreMiningCharge: - type: string - format: uint64 - oreRefiningCharge: - type: string - format: uint64 - stealthActivateCharge: - type: string - format: uint64 - attackReduction: - type: string - format: uint64 - description: For Defensive Cannon - title: Tech Tree Attributes - attackCounterable: - type: boolean - title: For Indirect Combat Module - stealthSystems: - type: boolean - title: For Stealth Mode - counterAttack: - type: string - format: uint64 - title: Counter - counterAttackSameAmbit: - type: string - format: uint64 - title: Advanced Counter - postDestructionDamage: - type: string - format: uint64 - generatingRate: - type: string - format: uint64 - title: Power Generation - planetaryShieldContribution: - type: string - format: uint64 - title: The shield that is added to the Planet - oreMiningDifficulty: - type: string - format: uint64 - oreRefiningDifficulty: - type: string - format: uint64 - unguidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - unguidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - guidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - guidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - triggerRaidDefeatByDestruction: - type: boolean - description: >- - I wish this was higher up in a different area of the - definition - - but I really don't feel like renumbering this entire thing - again. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - format: uint64 - tags: - - Query - /structs/structs/params: - get: - summary: Parameters queries the parameters of the module. - operationId: StructsStructsQuery_Params - responses: - '200': - description: A successful response. - schema: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - description: >- - QueryParamsResponse is response type for the Query/Params RPC - method. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - tags: - - Query - /structs/substation: - get: - operationId: StructsStructsQuery_SubstationAll - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Substation: - type: array - items: - type: object - properties: - id: - type: string - owner: - type: string - creator: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: >- - PageResponse is to be embedded in gRPC response messages where - the - - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. - - It is less efficient than using key. Only one of offset or key - should - - be set. - in: query - required: false - type: string - format: uint64 - - name: pagination.limit - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - in: query - required: false - type: string - format: uint64 - - name: pagination.count_total - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in - UIs. - - count_total is only respected when offset is used. It is ignored - when key - - is set. - in: query - required: false - type: boolean - - name: pagination.reverse - description: >- - reverse is set to true if results are to be returned in the - descending order. - - - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /structs/substation/{id}: - get: - summary: Queries a list of Substation items. - operationId: StructsStructsQuery_Substation - responses: - '200': - description: A successful response. - schema: - type: object - properties: - Substation: - type: object - properties: - id: - type: string - owner: - type: string - creator: - type: string - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: id - in: path - required: true - type: string - tags: - - Query - /structs/validate_signature/{address}/{proofPubKey}/{proofSignature}/{message}: - get: - operationId: StructsStructsQuery_ValidateSignature - responses: - '200': - description: A successful response. - schema: - type: object - properties: - pubkeyFormatError: - type: boolean - signatureFormatError: - type: boolean - addressPubkeyMismatch: - type: boolean - signatureInvalid: - type: boolean - valid: - type: boolean - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: address - in: path - required: true - type: string - - name: proofPubKey - in: path - required: true - type: string - - name: proofSignature - in: path - required: true - type: string - - name: message - in: path - required: true - type: string - tags: - - Query - /structs.structs.Msg/AddressRegister: - post: - operationId: StructsStructsMsg_AddressRegister - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - playerId: - type: string - address: - type: string - proofPubKey: - type: string - proofSignature: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/AddressRevoke: - post: - operationId: StructsStructsMsg_AddressRevoke - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - address: - type: string - tags: - - Msg - /structs.structs.Msg/AgreementCapacityDecrease: - post: - operationId: StructsStructsMsg_AgreementCapacityDecrease - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - agreementId: - type: string - capacityDecrease: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/AgreementCapacityIncrease: - post: - operationId: StructsStructsMsg_AgreementCapacityIncrease - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - agreementId: - type: string - capacityIncrease: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/AgreementClose: - post: - operationId: StructsStructsMsg_AgreementClose - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - agreementId: - type: string - tags: - - Msg - /structs.structs.Msg/AgreementDurationIncrease: - post: - operationId: StructsStructsMsg_AgreementDurationIncrease - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - agreementId: - type: string - durationIncrease: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/AgreementOpen: - post: - operationId: StructsStructsMsg_AgreementOpen - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - duration: - type: string - format: uint64 - capacity: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/AllocationCreate: - post: - operationId: StructsStructsMsg_AllocationCreate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - allocationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - controller: - type: string - sourceObjectId: - type: string - allocationType: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - power: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/AllocationDelete: - post: - operationId: StructsStructsMsg_AllocationDelete - responses: - '200': - description: A successful response. - schema: - type: object - properties: - allocationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - allocationId: - type: string - tags: - - Msg - /structs.structs.Msg/AllocationTransfer: - post: - operationId: StructsStructsMsg_AllocationTransfer - responses: - '200': - description: A successful response. - schema: - type: object - properties: - allocationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - allocationId: - type: string - controller: - type: string - tags: - - Msg - /structs.structs.Msg/AllocationUpdate: - post: - operationId: StructsStructsMsg_AllocationUpdate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - allocationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - allocationId: - type: string - power: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/FleetMove: - post: - operationId: StructsStructsMsg_FleetMove - responses: - '200': - description: A successful response. - schema: - type: object - properties: - fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - fleetId: - type: string - destinationLocationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildBankConfiscateAndBurn: - post: - operationId: StructsStructsMsg_GuildBankConfiscateAndBurn - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - address: - type: string - amountToken: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/GuildBankMint: - post: - operationId: StructsStructsMsg_GuildBankMint - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - amountAlpha: - type: string - format: uint64 - amountToken: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/GuildBankRedeem: - post: - operationId: StructsStructsMsg_GuildBankRedeem - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - amountToken: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - tags: - - Msg - /structs.structs.Msg/GuildCreate: - post: - operationId: StructsStructsMsg_GuildCreate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - endpoint: - type: string - entrySubstationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipInvite: - post: - operationId: StructsStructsMsg_GuildMembershipInvite - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipInviteApprove: - post: - operationId: StructsStructsMsg_GuildMembershipInviteApprove - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipInviteDeny: - post: - operationId: StructsStructsMsg_GuildMembershipInviteDeny - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipInviteRevoke: - post: - operationId: StructsStructsMsg_GuildMembershipInviteRevoke - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipJoin: - post: - operationId: StructsStructsMsg_GuildMembershipJoin - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - infusionId: - type: array - items: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipJoinProxy: - post: - operationId: StructsStructsMsg_GuildMembershipJoinProxy - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - address: - type: string - substationId: - type: string - proofPubKey: - type: string - proofSignature: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipKick: - post: - operationId: StructsStructsMsg_GuildMembershipKick - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipRequest: - post: - operationId: StructsStructsMsg_GuildMembershipRequest - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipRequestApprove: - post: - operationId: StructsStructsMsg_GuildMembershipRequestApprove - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipRequestDeny: - post: - operationId: StructsStructsMsg_GuildMembershipRequestDeny - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildMembershipRequestRevoke: - post: - operationId: StructsStructsMsg_GuildMembershipRequestRevoke - responses: - '200': - description: A successful response. - schema: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildUpdateEndpoint: - post: - operationId: StructsStructsMsg_GuildUpdateEndpoint - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - endpoint: - type: string - tags: - - Msg - /structs.structs.Msg/GuildUpdateEntrySubstationId: - post: - operationId: StructsStructsMsg_GuildUpdateEntrySubstationId - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - entrySubstationId: - type: string - tags: - - Msg - /structs.structs.Msg/GuildUpdateJoinInfusionMinimum: - post: - operationId: StructsStructsMsg_GuildUpdateJoinInfusionMinimum - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - joinInfusionMinimum: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByInvite: - post: - operationId: StructsStructsMsg_GuildUpdateJoinInfusionMinimumBypassByInvite - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - guildJoinBypassLevel: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - tags: - - Msg - /structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByRequest: - post: - operationId: StructsStructsMsg_GuildUpdateJoinInfusionMinimumBypassByRequest - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - guildJoinBypassLevel: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - tags: - - Msg - /structs.structs.Msg/GuildUpdateOwnerId: - post: - operationId: StructsStructsMsg_GuildUpdateOwnerId - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - guildId: - type: string - owner: - type: string - tags: - - Msg - /structs.structs.Msg/PermissionGrantOnAddress: - post: - operationId: StructsStructsMsg_PermissionGrantOnAddress - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - address: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/PermissionGrantOnObject: - post: - operationId: StructsStructsMsg_PermissionGrantOnObject - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - objectId: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/PermissionRevokeOnAddress: - post: - operationId: StructsStructsMsg_PermissionRevokeOnAddress - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - address: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/PermissionRevokeOnObject: - post: - operationId: StructsStructsMsg_PermissionRevokeOnObject - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - objectId: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/PermissionSetOnAddress: - post: - operationId: StructsStructsMsg_PermissionSetOnAddress - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - address: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/PermissionSetOnObject: - post: - operationId: StructsStructsMsg_PermissionSetOnObject - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - objectId: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/PlanetExplore: - post: - operationId: StructsStructsMsg_PlanetExplore - responses: - '200': - description: A successful response. - schema: - type: object - properties: - planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/PlanetRaidComplete: - post: - operationId: StructsStructsMsg_PlanetRaidComplete - responses: - '200': - description: A successful response. - schema: - type: object - properties: - fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - oreStolen: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - fleetId: - type: string - proof: - type: string - nonce: - type: string - tags: - - Msg - /structs.structs.Msg/PlayerResume: - post: - operationId: StructsStructsMsg_PlayerResume - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/PlayerUpdatePrimaryAddress: - post: - operationId: StructsStructsMsg_PlayerUpdatePrimaryAddress - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - playerId: - type: string - primaryAddress: - type: string - tags: - - Msg - /structs.structs.Msg/ProviderCreate: - post: - operationId: StructsStructsMsg_ProviderCreate - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/ProviderDelete: - post: - operationId: StructsStructsMsg_ProviderDelete - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - tags: - - Msg - /structs.structs.Msg/ProviderGuildGrant: - post: - operationId: StructsStructsMsg_ProviderGuildGrant - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - guildId: - type: array - items: - type: string - tags: - - Msg - /structs.structs.Msg/ProviderGuildRevoke: - post: - operationId: StructsStructsMsg_ProviderGuildRevoke - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - guildId: - type: array - items: - type: string - tags: - - Msg - /structs.structs.Msg/ProviderUpdateAccessPolicy: - post: - operationId: StructsStructsMsg_ProviderUpdateAccessPolicy - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - tags: - - Msg - /structs.structs.Msg/ProviderUpdateCapacityMaximum: - post: - operationId: StructsStructsMsg_ProviderUpdateCapacityMaximum - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - newMaximumCapacity: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/ProviderUpdateCapacityMinimum: - post: - operationId: StructsStructsMsg_ProviderUpdateCapacityMinimum - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - newMinimumCapacity: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/ProviderUpdateDurationMaximum: - post: - operationId: StructsStructsMsg_ProviderUpdateDurationMaximum - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - newMaximumDuration: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/ProviderUpdateDurationMinimum: - post: - operationId: StructsStructsMsg_ProviderUpdateDurationMinimum - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - newMinimumDuration: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/ProviderWithdrawBalance: - post: - operationId: StructsStructsMsg_ProviderWithdrawBalance - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - providerId: - type: string - destinationAddress: - type: string - tags: - - Msg - /structs.structs.Msg/StructActivate: - post: - operationId: StructsStructsMsg_StructActivate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - tags: - - Msg - /structs.structs.Msg/StructAttack: - post: - operationId: StructsStructsMsg_StructAttack - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - operatingStructId: - type: string - targetStructId: - type: array - items: - type: string - weaponSystem: - type: string - tags: - - Msg - /structs.structs.Msg/StructBuildCancel: - post: - operationId: StructsStructsMsg_StructBuildCancel - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - tags: - - Msg - /structs.structs.Msg/StructBuildComplete: - post: - operationId: StructsStructsMsg_StructBuildComplete - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - proof: - type: string - nonce: - type: string - tags: - - Msg - /structs.structs.Msg/StructBuildInitiate: - post: - operationId: StructsStructsMsg_StructBuildInitiate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - playerId: - type: string - structTypeId: - type: string - format: uint64 - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - title: objectType locationType = 4; - slot: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/StructDeactivate: - post: - operationId: StructsStructsMsg_StructDeactivate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - tags: - - Msg - /structs.structs.Msg/StructDefenseClear: - post: - operationId: StructsStructsMsg_StructDefenseClear - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - defenderStructId: - type: string - tags: - - Msg - /structs.structs.Msg/StructDefenseSet: - post: - operationId: StructsStructsMsg_StructDefenseSet - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - defenderStructId: - type: string - protectedStructId: - type: string - tags: - - Msg - /structs.structs.Msg/StructGeneratorInfuse: - post: - operationId: StructsStructsMsg_StructGeneratorInfuse - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - infuseAmount: - type: string - tags: - - Msg - /structs.structs.Msg/StructMove: - post: - operationId: StructsStructsMsg_StructMove - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - ambit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - tags: - - Msg - /structs.structs.Msg/StructOreMinerComplete: - post: - operationId: StructsStructsMsg_StructOreMinerComplete - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - proof: - type: string - nonce: - type: string - tags: - - Msg - /structs.structs.Msg/StructOreRefineryComplete: - post: - operationId: StructsStructsMsg_StructOreRefineryComplete - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - proof: - type: string - nonce: - type: string - tags: - - Msg - /structs.structs.Msg/StructStealthActivate: - post: - operationId: StructsStructsMsg_StructStealthActivate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - tags: - - Msg - /structs.structs.Msg/StructStealthDeactivate: - post: - operationId: StructsStructsMsg_StructStealthDeactivate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - structId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationAllocationConnect: - post: - operationId: StructsStructsMsg_SubstationAllocationConnect - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - allocationId: - type: string - destinationId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationAllocationDisconnect: - post: - operationId: StructsStructsMsg_SubstationAllocationDisconnect - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - allocationId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationCreate: - post: - operationId: StructsStructsMsg_SubstationCreate - responses: - '200': - description: A successful response. - schema: - type: object - properties: - substationId: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - owner: - type: string - allocationId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationDelete: - post: - operationId: StructsStructsMsg_SubstationDelete - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - substationId: - type: string - migrationSubstationId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationPlayerConnect: - post: - operationId: StructsStructsMsg_SubstationPlayerConnect - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - substationId: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationPlayerDisconnect: - post: - operationId: StructsStructsMsg_SubstationPlayerDisconnect - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - playerId: - type: string - tags: - - Msg - /structs.structs.Msg/SubstationPlayerMigrate: - post: - operationId: StructsStructsMsg_SubstationPlayerMigrate - responses: - '200': - description: A successful response. - schema: - type: object - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - in: body - required: true - schema: - type: object - properties: - creator: - type: string - substationId: - type: string - playerId: - type: array - items: - type: string - tags: - - Msg - /structs.structs.Msg/UpdateParams: - post: - summary: |- - UpdateParams defines a (governance) operation for updating the module - parameters. The authority defaults to the x/gov module account. - operationId: StructsStructsMsg_UpdateParams - responses: - '200': - description: A successful response. - schema: - type: object - description: >- - MsgUpdateParamsResponse defines the response structure for - executing a - - MsgUpdateParams message. - default: - description: An unexpected error response. - schema: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - additionalProperties: {} - parameters: - - name: body - description: MsgUpdateParams is the Msg/UpdateParams request type. - in: body - required: true - schema: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to - x/gov unless overwritten). - params: - description: |- - params defines the module parameters to update. - - NOTE: All parameters must be supplied. - type: object - description: MsgUpdateParams is the Msg/UpdateParams request type. - tags: - - Msg -definitions: - cosmos.auth.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/auth parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.auth.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.auth.v1beta1.Params: - type: object - properties: - max_memo_characters: - type: string - format: uint64 - tx_sig_limit: - type: string - format: uint64 - tx_size_cost_per_byte: - type: string - format: uint64 - sig_verify_cost_ed25519: - type: string - format: uint64 - sig_verify_cost_secp256k1: - type: string - format: uint64 - description: Params defines the parameters for the auth module. - google.protobuf.Any: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a canonical - form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types that - they - - expect it to use in the context of Any. However, for URLs which use - the - - scheme `http`, `https`, or no scheme, one can optionally set up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along with - a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - google.rpc.Status: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - cosmos.authz.v1beta1.Grant: - type: object - properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If null, then the - grant - - doesn't have a time expiration (other conditions in `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - cosmos.authz.v1beta1.MsgExec: - type: object - properties: - grantee: - type: string - msgs: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: >- - Execute Msg. - - The x/authz will try to find a grant matching (msg.signers[0], - grantee, MsgTypeURL(msg)) - - triple and validate it. - description: |- - MsgExec attempts to execute the provided messages using - authorizations granted to the grantee. Each message should have only - one signer corresponding to the granter of the authorization. - cosmos.authz.v1beta1.MsgExecResponse: - type: object - properties: - results: - type: array - items: - type: string - format: byte - description: MsgExecResponse defines the Msg/MsgExecResponse response type. - cosmos.authz.v1beta1.MsgGrant: - type: object - properties: - granter: - type: string - grantee: - type: string - grant: - type: object - properties: - authorization: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message - along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the - unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a - field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - expiration: - type: string - format: date-time - title: >- - time when the grant will expire and will be pruned. If null, then - the grant - - doesn't have a time expiration (other conditions in - `authorization` - - may apply to invalidate the grant) - description: |- - Grant gives permissions to execute - the provide method with expiration time. - description: >- - MsgGrant is a request type for Grant method. It declares authorization to - the grantee - - on behalf of the granter with the provided expiration time. - cosmos.authz.v1beta1.MsgGrantResponse: - type: object - description: MsgGrantResponse defines the Msg/MsgGrant response type. - cosmos.authz.v1beta1.MsgRevoke: - type: object - properties: - granter: - type: string - grantee: - type: string - msg_type_url: - type: string - description: |- - MsgRevoke revokes any authorization with the provided sdk.Msg type on the - granter's account with that has been granted to the grantee. - cosmos.authz.v1beta1.MsgRevokeResponse: - type: object - description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. - cosmos.bank.v1beta1.Input: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Input models transaction input. - cosmos.bank.v1beta1.MsgMultiSend: - type: object - properties: - inputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Input models transaction input. - description: >- - Inputs, despite being `repeated`, only allows one sender input. This - is - - checked in MsgMultiSend's ValidateBasic. - outputs: - type: array - items: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Output models transaction outputs. - description: MsgMultiSend represents an arbitrary multi-in, multi-out send message. - cosmos.bank.v1beta1.MsgMultiSendResponse: - type: object - description: MsgMultiSendResponse defines the Msg/MultiSend response type. - cosmos.bank.v1beta1.MsgSend: - type: object - properties: - from_address: - type: string - to_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: MsgSend represents a message to send coins from one account to another. - cosmos.bank.v1beta1.MsgSendResponse: - type: object - description: MsgSendResponse defines the Msg/Send response type. - cosmos.bank.v1beta1.MsgSetSendEnabled: - type: object - properties: - authority: - type: string - description: authority is the address that controls the module. - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is - - sendable). - description: send_enabled is the list of entries to add or update. - use_default_for: - type: array - items: - type: string - description: >- - use_default_for is a list of denoms that should use the - params.default_send_enabled value. - - Denoms listed here will have their SendEnabled entries deleted. - - If a denom is included that doesn't have a SendEnabled entry, - - it will be ignored. - description: |- - MsgSetSendEnabled is the Msg/SetSendEnabled request type. - - Only entries to add/update/delete need to be included. - Existing SendEnabled entries that are not included in this - message are left unchanged. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.MsgSetSendEnabledResponse: - type: object - description: |- - MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/bank parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is - - sendable). - description: >- - Deprecated: Use of SendEnabled in params is deprecated. - - For genesis, use the newly added send_enabled field in the genesis - object. - - Storage, lookup, and manipulation of this information is now in - the keeper. - - - As of cosmos-sdk 0.47, this only exists for backwards - compatibility of genesis files. - default_send_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.bank.v1beta1.Output: - type: object - properties: - address: - type: string - coins: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Output models transaction outputs. - cosmos.bank.v1beta1.Params: - type: object - properties: - send_enabled: - type: array - items: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: >- - SendEnabled maps coin denom to a send_enabled status (whether a - denom is - - sendable). - description: >- - Deprecated: Use of SendEnabled in params is deprecated. - - For genesis, use the newly added send_enabled field in the genesis - object. - - Storage, lookup, and manipulation of this information is now in the - keeper. - - - As of cosmos-sdk 0.47, this only exists for backwards compatibility of - genesis files. - default_send_enabled: - type: boolean - description: Params defines the parameters for the bank module. - cosmos.bank.v1beta1.SendEnabled: - type: object - properties: - denom: - type: string - enabled: - type: boolean - description: |- - SendEnabled maps coin denom to a send_enabled status (whether a denom is - sendable). - cosmos.base.v1beta1.Coin: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - cosmos.base.node.v1beta1.ConfigResponse: - type: object - properties: - minimum_gas_price: - type: string - pruning_keep_recent: - type: string - pruning_interval: - type: string - halt_height: - type: string - format: uint64 - description: ConfigResponse defines the response structure for the Config gRPC query. - cosmos.base.node.v1beta1.StatusResponse: - type: object - properties: - earliest_store_height: - type: string - format: uint64 - title: earliest block height available in the store - height: - type: string - format: uint64 - title: current block height - timestamp: - type: string - format: date-time - title: block height timestamp - app_hash: - type: string - format: byte - title: app hash of the current block - validator_hash: - type: string - format: byte - title: validator hash provided by the consensus header - description: StateResponse defines the response structure for the status of a node. - cosmos.consensus.v1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - block: - description: |- - params defines the x/consensus parameters to update. - VersionsParams is not included in this Msg because it is tracked - separarately in x/upgrade. - - NOTE: All parameters must be supplied. - type: object - properties: - max_bytes: - type: string - format: int64 - title: |- - Max block size, in bytes. - Note: must be greater than 0 - max_gas: - type: string - format: int64 - title: |- - Max gas per block. - Note: must be greater or equal to -1 - evidence: - type: object - properties: - max_age_num_blocks: - type: string - format: int64 - description: >- - Max age of evidence, in blocks. - - - The basic formula for calculating this is: MaxAgeDuration / - {average block - - time}. - max_age_duration: - type: string - description: >- - Max age of evidence, in time. - - - It should correspond with an app's "unbonding period" or other - similar - - mechanism for handling [Nothing-At-Stake - - attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). - max_bytes: - type: string - format: int64 - title: >- - This sets the maximum size of total evidence in bytes that can be - committed in a single block. - - and should fall comfortably under the max block bytes. - - Default is 1048576 or 1MB - description: EvidenceParams determine how we handle evidence of malfeasance. - validator: - type: object - properties: - pub_key_types: - type: array - items: - type: string - description: |- - ValidatorParams restrict the public key types validators can use. - NOTE: uses ABCI pubkey naming, not Amino names. - abci: - title: 'Since: cosmos-sdk 0.50' - type: object - properties: - vote_extensions_enable_height: - type: string - format: int64 - description: >- - vote_extensions_enable_height configures the first height during - which - - vote extensions will be enabled. During this specified height, and - for all - - subsequent heights, precommit messages that do not contain valid - extension data - - will be considered invalid. Prior to this height, vote extensions - will not - - be used or accepted by validators on the network. - - - Once enabled, vote extensions will be created by the application - in ExtendVote, - - passed to the application for validation in VerifyVoteExtension - and given - - to the application to use when proposing a block during - PrepareProposal. - description: >- - ABCIParams configure functionality specific to the Application - Blockchain Interface. - description: MsgUpdateParams is the Msg/UpdateParams request type. - cosmos.consensus.v1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - tendermint.types.ABCIParams: - type: object - properties: - vote_extensions_enable_height: - type: string - format: int64 - description: >- - vote_extensions_enable_height configures the first height during which - - vote extensions will be enabled. During this specified height, and for - all - - subsequent heights, precommit messages that do not contain valid - extension data - - will be considered invalid. Prior to this height, vote extensions will - not - - be used or accepted by validators on the network. - - - Once enabled, vote extensions will be created by the application in - ExtendVote, - - passed to the application for validation in VerifyVoteExtension and - given - - to the application to use when proposing a block during - PrepareProposal. - description: >- - ABCIParams configure functionality specific to the Application Blockchain - Interface. - tendermint.types.BlockParams: - type: object - properties: - max_bytes: - type: string - format: int64 - title: |- - Max block size, in bytes. - Note: must be greater than 0 - max_gas: - type: string - format: int64 - title: |- - Max gas per block. - Note: must be greater or equal to -1 - description: BlockParams contains limits on the block size. - tendermint.types.EvidenceParams: - type: object - properties: - max_age_num_blocks: - type: string - format: int64 - description: >- - Max age of evidence, in blocks. - - - The basic formula for calculating this is: MaxAgeDuration / {average - block - - time}. - max_age_duration: - type: string - description: >- - Max age of evidence, in time. - - - It should correspond with an app's "unbonding period" or other similar - - mechanism for handling [Nothing-At-Stake - - attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). - max_bytes: - type: string - format: int64 - title: >- - This sets the maximum size of total evidence in bytes that can be - committed in a single block. - - and should fall comfortably under the max block bytes. - - Default is 1048576 or 1MB - description: EvidenceParams determine how we handle evidence of malfeasance. - tendermint.types.ValidatorParams: - type: object - properties: - pub_key_types: - type: array - items: - type: string - description: |- - ValidatorParams restrict the public key types validators can use. - NOTE: uses ABCI pubkey naming, not Amino names. - cosmos.crisis.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - constant_fee: - description: constant_fee defines the x/crisis parameter. - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.crisis.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.crisis.v1beta1.MsgVerifyInvariant: - type: object - properties: - sender: - type: string - description: >- - sender is the account address of private key to send coins to fee - collector account. - invariant_module_name: - type: string - description: name of the invariant module. - invariant_route: - type: string - description: invariant_route is the msg's invariant route. - description: MsgVerifyInvariant represents a message to verify a particular invariance. - cosmos.crisis.v1beta1.MsgVerifyInvariantResponse: - type: object - description: MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. - cosmos.distribution.v1beta1.MsgCommunityPoolSpend: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - recipient: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - MsgCommunityPoolSpend defines a message for sending tokens from the - community - - pool to another account. This message is typically executed via a - governance - - proposal with the governance module being the executing authority. - - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse: - type: object - description: |- - MsgCommunityPoolSpendResponse defines the response to executing a - MsgCommunityPoolSpend message. - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool: - type: object - properties: - depositor: - type: string - validator_address: - type: string - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - DepositValidatorRewardsPool defines the request structure to provide - additional rewards to delegators from a specific validator. - - Since: cosmos-sdk 0.50 - cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse: - type: object - description: |- - MsgDepositValidatorRewardsPoolResponse defines the response to executing a - MsgDepositValidatorRewardsPool message. - - Since: cosmos-sdk 0.50 - cosmos.distribution.v1beta1.MsgFundCommunityPool: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - depositor: - type: string - description: |- - MsgFundCommunityPool allows an account to directly - fund the community pool. - cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse: - type: object - description: >- - MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response - type. - cosmos.distribution.v1beta1.MsgSetWithdrawAddress: - type: object - properties: - delegator_address: - type: string - withdraw_address: - type: string - description: |- - MsgSetWithdrawAddress sets the withdraw address for - a delegator (or validator self-delegation). - cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse: - type: object - description: |- - MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response - type. - cosmos.distribution.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/distribution parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - description: >- - Deprecated: The base_proposer_reward field is deprecated and is no - longer used - - in the x/distribution module's reward mechanism. - bonus_proposer_reward: - type: string - description: >- - Deprecated: The bonus_proposer_reward field is deprecated and is - no longer used - - in the x/distribution module's reward mechanism. - withdraw_addr_enabled: - type: boolean - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - description: |- - MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator - from a single validator. - cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: |- - MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward - response type. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission: - type: object - properties: - validator_address: - type: string - description: >- - MsgWithdrawValidatorCommission withdraws the full commission to the - validator - - address. - cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse: - type: object - properties: - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: 'Since: cosmos-sdk 0.46' - description: |- - MsgWithdrawValidatorCommissionResponse defines the - Msg/WithdrawValidatorCommission response type. - cosmos.distribution.v1beta1.Params: - type: object - properties: - community_tax: - type: string - base_proposer_reward: - type: string - description: >- - Deprecated: The base_proposer_reward field is deprecated and is no - longer used - - in the x/distribution module's reward mechanism. - bonus_proposer_reward: - type: string - description: >- - Deprecated: The bonus_proposer_reward field is deprecated and is no - longer used - - in the x/distribution module's reward mechanism. - withdraw_addr_enabled: - type: boolean - description: Params defines the set of params for the distribution module. - cosmos.evidence.v1beta1.MsgSubmitEvidence: - type: object - properties: - submitter: - type: string - description: submitter is the signer account address of evidence. - evidence: - description: evidence defines the evidence of misbehavior. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: |- - MsgSubmitEvidence represents a message that supports submitting arbitrary - Evidence of misbehavior such as equivocation or counterfactual signing. - cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse: - type: object - properties: - hash: - type: string - format: byte - description: hash defines the hash of the evidence. - description: MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type. - cosmos.feegrant.v1beta1.MsgGrantAllowance: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - allowance: - description: allowance can be any of basic, periodic, allowed fee allowance. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: |- - MsgGrantAllowance adds permission for Grantee to spend up to Allowance - of fees from the account of Granter. - cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse: - type: object - description: >- - MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response - type. - cosmos.feegrant.v1beta1.MsgPruneAllowances: - type: object - properties: - pruner: - type: string - description: pruner is the address of the user pruning expired allowances. - description: |- - MsgPruneAllowances prunes expired fee allowances. - - Since cosmos-sdk 0.50 - cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse: - type: object - description: >- - MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse - response type. - - - Since cosmos-sdk 0.50 - cosmos.feegrant.v1beta1.MsgRevokeAllowance: - type: object - properties: - granter: - type: string - description: >- - granter is the address of the user granting an allowance of their - funds. - grantee: - type: string - description: >- - grantee is the address of the user being granted an allowance of - another user's funds. - description: MsgRevokeAllowance removes any existing Allowance from Granter to Grantee. - cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse: - type: object - description: >- - MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse - response type. - cosmos.gov.v1.MsgCancelProposal: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - proposer: - type: string - description: proposer is the account address of the proposer. - description: |- - MsgCancelProposal is the Msg/CancelProposal request type. - - Since: cosmos-sdk 0.50 - cosmos.gov.v1.MsgCancelProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - canceled_time: - type: string - format: date-time - description: canceled_time is the time when proposal is canceled. - canceled_height: - type: string - format: uint64 - description: >- - canceled_height defines the block height at which the proposal is - canceled. - description: |- - MsgCancelProposalResponse defines the response structure for executing a - MsgCancelProposal message. - - Since: cosmos-sdk 0.50 - cosmos.gov.v1.MsgDeposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: MsgDeposit defines a message to submit a deposit to an existing proposal. - cosmos.gov.v1.MsgDepositResponse: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - cosmos.gov.v1.MsgExecLegacyContent: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - authority: - type: string - description: authority must be the gov module address. - description: >- - MsgExecLegacyContent is used to wrap the legacy content field into a - message. - - This ensures backwards compatibility with v1beta1.MsgSubmitProposal. - cosmos.gov.v1.MsgExecLegacyContentResponse: - type: object - description: >- - MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response - type. - cosmos.gov.v1.MsgSubmitProposal: - type: object - properties: - messages: - type: array - items: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up - a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any - type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - description: messages are the arbitrary messages to be executed if proposal passes. - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at proposal - submission. - proposer: - type: string - description: proposer is the account address of the proposer. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the proposal. - title: - type: string - description: |- - title is the title of the proposal. - - Since: cosmos-sdk 0.47 - summary: - type: string - description: 'Since: cosmos-sdk 0.47' - title: summary is the summary of the proposal - expedited: - type: boolean - description: 'Since: cosmos-sdk 0.50' - title: expedited defines if the proposal is expedited or not - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - cosmos.gov.v1.MsgSubmitProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. - cosmos.gov.v1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/gov parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: >- - Minimum percentage of total stake needed to vote for a result to - be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.5. - veto_threshold: - type: string - description: >- - Minimum value of Veto votes to Total votes ratio for proposal to - be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value that - must be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the depositors - when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * deposit) - proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal deposits - will be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default - value: 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - description: Minimum expedited deposit for a proposal to enter voting period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value minimum - that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a min_deposit - of 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.gov.v1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.gov.v1.MsgVote: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - metadata: - type: string - description: metadata is any arbitrary metadata attached to the Vote. - description: MsgVote defines a message to cast a vote. - cosmos.gov.v1.MsgVoteResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1.MsgVoteWeighted: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - description: options defines the weighted vote options. - metadata: - type: string - description: metadata is any arbitrary metadata attached to the VoteWeighted. - description: MsgVoteWeighted defines a message to cast a vote. - cosmos.gov.v1.MsgVoteWeightedResponse: - type: object - description: MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. - cosmos.gov.v1.Params: - type: object - properties: - min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum deposit for a proposal to enter voting period. - max_deposit_period: - type: string - description: >- - Maximum period for Atom holders to deposit on a proposal. Initial - value: 2 - - months. - voting_period: - type: string - description: Duration of the voting period. - quorum: - type: string - description: |- - Minimum percentage of total stake needed to vote for a result to be - considered valid. - threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.5. - veto_threshold: - type: string - description: |- - Minimum value of Veto votes to Total votes ratio for proposal to be - vetoed. Default value: 1/3. - min_initial_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value that must - be paid at proposal submission. - proposal_cancel_ratio: - type: string - description: >- - The cancel ratio which will not be returned back to the depositors - when a proposal is cancelled. - - - Since: cosmos-sdk 0.50 - proposal_cancel_dest: - type: string - description: >- - The address which will receive (proposal_cancel_ratio * deposit) - proposal deposits. - - If empty, the (proposal_cancel_ratio * deposit) proposal deposits will - be burned. - - - Since: cosmos-sdk 0.50 - expedited_voting_period: - type: string - description: |- - Duration of the voting period of an expedited proposal. - - Since: cosmos-sdk 0.50 - expedited_threshold: - type: string - description: >- - Minimum proportion of Yes votes for proposal to pass. Default value: - 0.67. - - - Since: cosmos-sdk 0.50 - expedited_min_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: Minimum expedited deposit for a proposal to enter voting period. - burn_vote_quorum: - type: boolean - title: burn deposits if a proposal does not meet quorum - burn_proposal_deposit_prevote: - type: boolean - title: burn deposits if the proposal does not enter voting period - burn_vote_veto: - type: boolean - title: burn deposits if quorum with vote type no_veto is met - min_deposit_ratio: - type: string - description: >- - The ratio representing the proportion of the deposit value minimum - that must be met when making a deposit. - - Default value: 0.01. Meaning that for a chain with a min_deposit of - 100stake, a deposit of 1stake would be - - required. - - - Since: cosmos-sdk 0.50 - description: |- - Params defines the parameters for the x/gov module. - - Since: cosmos-sdk 0.47 - cosmos.gov.v1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - cosmos.gov.v1.WeightedVoteOption: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain duplicate - vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: WeightedVoteOption defines a unit of vote for vote split. - cosmos.gov.v1beta1.MsgDeposit: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - depositor: - type: string - description: depositor defines the deposit addresses from the proposals. - amount: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: amount to be deposited by depositor. - description: MsgDeposit defines a message to submit a deposit to an existing proposal. - cosmos.gov.v1beta1.MsgDepositResponse: - type: object - description: MsgDepositResponse defines the Msg/Deposit response type. - cosmos.gov.v1beta1.MsgSubmitProposal: - type: object - properties: - content: - description: content is the proposal's content. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - initial_deposit: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: >- - initial_deposit is the deposit value that must be paid at proposal - submission. - proposer: - type: string - description: proposer is the account address of the proposer. - description: >- - MsgSubmitProposal defines an sdk.Msg type that supports submitting - arbitrary - - proposal Content. - cosmos.gov.v1beta1.MsgSubmitProposalResponse: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. - cosmos.gov.v1beta1.MsgVote: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - option: - description: option defines the vote option. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: MsgVote defines a message to cast a vote. - cosmos.gov.v1beta1.MsgVoteResponse: - type: object - description: MsgVoteResponse defines the Msg/Vote response type. - cosmos.gov.v1beta1.MsgVoteWeighted: - type: object - properties: - proposal_id: - type: string - format: uint64 - description: proposal_id defines the unique id of the proposal. - voter: - type: string - description: voter is the voter address for the proposal. - options: - type: array - items: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain - duplicate vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - description: options defines the weighted vote options. - description: |- - MsgVoteWeighted defines a message to cast a vote. - - Since: cosmos-sdk 0.43 - cosmos.gov.v1beta1.MsgVoteWeightedResponse: - type: object - description: |- - MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. - - Since: cosmos-sdk 0.43 - cosmos.gov.v1beta1.VoteOption: - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - description: >- - VoteOption enumerates the valid vote options for a given governance - proposal. - - - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option. - - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option. - - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option. - - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - cosmos.gov.v1beta1.WeightedVoteOption: - type: object - properties: - option: - description: >- - option defines the valid vote options, it must not contain duplicate - vote options. - type: string - enum: - - VOTE_OPTION_UNSPECIFIED - - VOTE_OPTION_YES - - VOTE_OPTION_ABSTAIN - - VOTE_OPTION_NO - - VOTE_OPTION_NO_WITH_VETO - default: VOTE_OPTION_UNSPECIFIED - weight: - type: string - description: weight is the vote weight associated with the vote option. - description: |- - WeightedVoteOption defines a unit of vote for vote split. - - Since: cosmos-sdk 0.43 - cosmos.mint.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/mint parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.mint.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.mint.v1beta1.Params: - type: object - properties: - mint_denom: - type: string - title: type of coin to mint - inflation_rate_change: - type: string - title: maximum annual change in inflation rate - inflation_max: - type: string - title: maximum inflation rate - inflation_min: - type: string - title: minimum inflation rate - goal_bonded: - type: string - title: goal of percent bonded atoms - blocks_per_year: - type: string - format: uint64 - title: expected blocks per year - description: Params defines the parameters for the x/mint module. - cosmos.nft.v1beta1.MsgSend: - type: object - properties: - class_id: - type: string - title: >- - class_id defines the unique identifier of the nft classification, - similar to the contract address of ERC721 - id: - type: string - title: id defines the unique identification of nft - sender: - type: string - title: sender is the address of the owner of nft - receiver: - type: string - title: receiver is the receiver address of nft - description: >- - MsgSend represents a message to send a nft from one account to another - account. - cosmos.nft.v1beta1.MsgSendResponse: - type: object - description: MsgSendResponse defines the Msg/Send response type. - cosmos.params.v1beta1.ParamChange: - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: |- - ParamChange defines an individual parameter change, for use in - ParameterChangeProposal. - cosmos.params.v1beta1.QueryParamsResponse: - type: object - properties: - param: - description: param defines the queried parameter. - type: object - properties: - subspace: - type: string - key: - type: string - value: - type: string - description: QueryParamsResponse is response type for the Query/Params RPC method. - cosmos.params.v1beta1.QuerySubspacesResponse: - type: object - properties: - subspaces: - type: array - items: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: >- - Subspace defines a parameter subspace name and all the keys that - exist for - - the subspace. - - - Since: cosmos-sdk 0.46 - description: |- - QuerySubspacesResponse defines the response types for querying for all - registered subspaces and all keys for a subspace. - - Since: cosmos-sdk 0.46 - cosmos.params.v1beta1.Subspace: - type: object - properties: - subspace: - type: string - keys: - type: array - items: - type: string - description: |- - Subspace defines a parameter subspace name and all the keys that exist for - the subspace. - - Since: cosmos-sdk 0.46 - cosmos.slashing.v1beta1.MsgUnjail: - type: object - properties: - validator_addr: - type: string - title: MsgUnjail defines the Msg/Unjail request type - cosmos.slashing.v1beta1.MsgUnjailResponse: - type: object - title: MsgUnjailResponse defines the Msg/Unjail response type - cosmos.slashing.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/slashing parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.slashing.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.slashing.v1beta1.Params: - type: object - properties: - signed_blocks_window: - type: string - format: int64 - min_signed_per_window: - type: string - format: byte - downtime_jail_duration: - type: string - slash_fraction_double_sign: - type: string - format: byte - slash_fraction_downtime: - type: string - format: byte - description: Params represents the parameters used for by the slashing module. - cosmos.staking.v1beta1.CommissionRates: - type: object - properties: - rate: - type: string - description: rate is the commission rate charged to delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator can ever - charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the validator - commission, as a fraction. - description: >- - CommissionRates defines the initial commission rates to be used for - creating - - a validator. - cosmos.staking.v1beta1.Description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - cosmos.staking.v1beta1.MsgBeginRedelegate: - type: object - properties: - delegator_address: - type: string - validator_src_address: - type: string - validator_dst_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - MsgBeginRedelegate defines a SDK message for performing a redelegation - of coins from a delegator and source validator to a destination validator. - cosmos.staking.v1beta1.MsgBeginRedelegateResponse: - type: object - properties: - completion_time: - type: string - format: date-time - description: MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. - cosmos.staking.v1beta1.MsgCancelUnbondingDelegation: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: >- - amount is always less than or equal to unbonding delegation entry - balance - creation_height: - type: string - format: int64 - description: creation_height is the height which the unbonding took place. - description: 'Since: cosmos-sdk 0.46' - title: >- - MsgCancelUnbondingDelegation defines the SDK message for performing a - cancel unbonding delegation for delegator - cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse: - type: object - description: 'Since: cosmos-sdk 0.46' - title: MsgCancelUnbondingDelegationResponse - cosmos.staking.v1beta1.MsgCreateValidator: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - commission: - type: object - properties: - rate: - type: string - description: rate is the commission rate charged to delegators, as a fraction. - max_rate: - type: string - description: >- - max_rate defines the maximum commission rate which validator can - ever charge, as a fraction. - max_change_rate: - type: string - description: >- - max_change_rate defines the maximum daily increase of the - validator commission, as a fraction. - description: >- - CommissionRates defines the initial commission rates to be used for - creating - - a validator. - min_self_delegation: - type: string - delegator_address: - type: string - description: >- - Deprecated: Use of Delegator Address in MsgCreateValidator is - deprecated. - - The validator address bytes and delegator address bytes refer to the - same account while creating validator (defer - - only in bech32 notation). - validator_address: - type: string - pubkey: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - value: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: MsgCreateValidator defines a SDK message for creating a new validator. - cosmos.staking.v1beta1.MsgCreateValidatorResponse: - type: object - description: MsgCreateValidatorResponse defines the Msg/CreateValidator response type. - cosmos.staking.v1beta1.MsgDelegate: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - MsgDelegate defines a SDK message for performing a delegation of coins - from a delegator to a validator. - cosmos.staking.v1beta1.MsgDelegateResponse: - type: object - description: MsgDelegateResponse defines the Msg/Delegate response type. - cosmos.staking.v1beta1.MsgEditValidator: - type: object - properties: - description: - type: object - properties: - moniker: - type: string - description: moniker defines a human-readable name for the validator. - identity: - type: string - description: >- - identity defines an optional identity signature (ex. UPort or - Keybase). - website: - type: string - description: website defines an optional website link. - security_contact: - type: string - description: security_contact defines an optional email for security contact. - details: - type: string - description: details define other optional details. - description: Description defines a validator description. - validator_address: - type: string - commission_rate: - type: string - title: >- - We pass a reference to the new commission rate and min self delegation - as - - it's not mandatory to update. If not updated, the deserialized rate - will be - - zero with no way to distinguish if an update was intended. - - REF: #2373 - min_self_delegation: - type: string - description: MsgEditValidator defines a SDK message for editing an existing validator. - cosmos.staking.v1beta1.MsgEditValidatorResponse: - type: object - description: MsgEditValidatorResponse defines the Msg/EditValidator response type. - cosmos.staking.v1beta1.MsgUndelegate: - type: object - properties: - delegator_address: - type: string - validator_address: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - description: |- - MsgUndelegate defines a SDK message for performing an undelegation from a - delegate and a validator. - cosmos.staking.v1beta1.MsgUndelegateResponse: - type: object - properties: - completion_time: - type: string - format: date-time - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: amount returns the amount of undelegated coins - description: MsgUndelegateResponse defines the Msg/Undelegate response type. - cosmos.staking.v1beta1.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the x/staking parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding delegation or - redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: historical_entries is the number of historical entries to persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: - type: string - title: >- - min_commission_rate is the chain-wide minimum commission rate that - a validator can charge their delegators - description: |- - MsgUpdateParams is the Msg/UpdateParams request type. - - Since: cosmos-sdk 0.47 - cosmos.staking.v1beta1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - - Since: cosmos-sdk 0.47 - cosmos.staking.v1beta1.Params: - type: object - properties: - unbonding_time: - type: string - description: unbonding_time is the time duration of unbonding. - max_validators: - type: integer - format: int64 - description: max_validators is the maximum number of validators. - max_entries: - type: integer - format: int64 - description: >- - max_entries is the max entries for either unbonding delegation or - redelegation (per pair/trio). - historical_entries: - type: integer - format: int64 - description: historical_entries is the number of historical entries to persist. - bond_denom: - type: string - description: bond_denom defines the bondable coin denomination. - min_commission_rate: - type: string - title: >- - min_commission_rate is the chain-wide minimum commission rate that a - validator can charge their delegators - description: Params defines the parameters for the x/staking module. - ibc.applications.fee.v1.Fee: - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - title: the packet timeout fee - title: Fee defines the ICS29 receive, acknowledgement and timeout fees - ibc.applications.fee.v1.MsgPayPacketFee: - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated with an IBC - packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet timeout fee - source_port_id: - type: string - title: the source port unique identifier - source_channel_id: - type: string - title: the source channel unique identifer - signer: - type: string - title: account address to refund fee if necessary - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to the receive packet fees - title: >- - MsgPayPacketFee defines the request type for the PayPacketFee rpc - - This Msg can be used to pay for a packet at the next sequence send & - should be combined with the Msg that will be - - paid for - ibc.applications.fee.v1.MsgPayPacketFeeAsync: - type: object - properties: - packet_id: - title: >- - unique packet identifier comprised of the channel ID, port ID and - sequence - type: object - properties: - port_id: - type: string - title: channel port identifier - channel_id: - type: string - title: channel unique identifier - sequence: - type: string - format: uint64 - title: packet sequence - packet_fee: - title: the packet fee associated with a particular IBC packet - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated with an - IBC packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet timeout fee - refund_address: - type: string - title: the refund address for unspent fees - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to receive fees - title: >- - MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync - rpc - - This Msg can be used to pay for a packet at a specified sequence (instead - of the next sequence send) - ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse: - type: object - title: >- - MsgPayPacketFeeAsyncResponse defines the response type for the - PayPacketFeeAsync rpc - ibc.applications.fee.v1.MsgPayPacketFeeResponse: - type: object - title: MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc - ibc.applications.fee.v1.MsgRegisterCounterpartyPayee: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - counterparty_payee: - type: string - title: the counterparty payee address - title: >- - MsgRegisterCounterpartyPayee defines the request type for the - RegisterCounterpartyPayee rpc - ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse: - type: object - title: >- - MsgRegisterCounterpartyPayeeResponse defines the response type for the - RegisterCounterpartyPayee rpc - ibc.applications.fee.v1.MsgRegisterPayee: - type: object - properties: - port_id: - type: string - title: unique port identifier - channel_id: - type: string - title: unique channel identifier - relayer: - type: string - title: the relayer address - payee: - type: string - title: the payee address - title: MsgRegisterPayee defines the request type for the RegisterPayee rpc - ibc.applications.fee.v1.MsgRegisterPayeeResponse: - type: object - title: >- - MsgRegisterPayeeResponse defines the response type for the RegisterPayee - rpc - ibc.applications.fee.v1.PacketFee: - type: object - properties: - fee: - title: >- - fee encapsulates the recv, ack and timeout fees associated with an IBC - packet - type: object - properties: - recv_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet receive fee - ack_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet acknowledgement fee - timeout_fee: - type: array - items: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - title: the packet timeout fee - refund_address: - type: string - title: the refund address for unspent fees - relayers: - type: array - items: - type: string - title: optional list of relayers permitted to receive fees - title: >- - PacketFee contains ICS29 relayer fees, refund address and optional list of - permitted relayers - ibc.core.channel.v1.PacketId: - type: object - properties: - port_id: - type: string - title: channel port identifier - channel_id: - type: string - title: channel unique identifier - sequence: - type: string - format: uint64 - title: packet sequence - title: |- - PacketId is an identifer for a unique Packet - Source chains refer to packets by source port/channel - Destination chains refer to packets by destination port/channel - ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount: - type: object - properties: - owner: - type: string - connection_id: - type: string - version: - type: string - title: MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount - ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse: - type: object - properties: - channel_id: - type: string - port_id: - type: string - title: >- - MsgRegisterInterchainAccountResponse defines the response for - Msg/RegisterAccount - ibc.applications.interchain_accounts.controller.v1.MsgSendTx: - type: object - properties: - owner: - type: string - connection_id: - type: string - packet_data: - type: object - properties: - type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a controller - chain to its associated interchain accounts - - host - data: - type: string - format: byte - memo: - type: string - description: >- - InterchainAccountPacketData is comprised of a raw transaction, type of - transaction and optional memo field. - relative_timeout: - type: string - format: uint64 - description: >- - Relative timeout timestamp provided will be added to the current block - time during transaction execution. - - The timeout timestamp must be non-zero. - title: MsgSendTx defines the payload for Msg/SendTx - ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse: - type: object - properties: - sequence: - type: string - format: uint64 - title: MsgSendTxResponse defines the response for MsgSendTx - ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: >- - params defines the 27-interchain-accounts/controller parameters to - update. - - - NOTE: All parameters must be supplied. - type: object - properties: - controller_enabled: - type: boolean - description: controller_enabled enables or disables the controller submodule. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - ibc.applications.interchain_accounts.controller.v1.Params: - type: object - properties: - controller_enabled: - type: boolean - description: controller_enabled enables or disables the controller submodule. - description: |- - Params defines the set of on-chain interchain accounts parameters. - The following parameters may be used to disable the controller submodule. - ibc.applications.interchain_accounts.v1.InterchainAccountPacketData: - type: object - properties: - type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a controller - chain to its associated interchain accounts - - host - data: - type: string - format: byte - memo: - type: string - description: >- - InterchainAccountPacketData is comprised of a raw transaction, type of - transaction and optional memo field. - ibc.applications.interchain_accounts.v1.Type: - type: string - enum: - - TYPE_UNSPECIFIED - - TYPE_EXECUTE_TX - default: TYPE_UNSPECIFIED - description: |- - - TYPE_UNSPECIFIED: Default zero value enumeration - - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain - title: >- - Type defines a classification of message issued from a controller chain to - its associated interchain accounts - - host - ibc.applications.interchain_accounts.host.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the 27-interchain-accounts/host parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - host_enabled: - type: boolean - description: host_enabled enables or disables the host submodule. - allow_messages: - type: array - items: - type: string - description: >- - allow_messages defines a list of sdk message typeURLs allowed to - be executed on a host chain. - title: MsgUpdateParams defines the payload for Msg/UpdateParams - ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse: - type: object - title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams - ibc.applications.interchain_accounts.host.v1.Params: - type: object - properties: - host_enabled: - type: boolean - description: host_enabled enables or disables the host submodule. - allow_messages: - type: array - items: - type: string - description: >- - allow_messages defines a list of sdk message typeURLs allowed to be - executed on a host chain. - description: |- - Params defines the set of on-chain interchain accounts parameters. - The following parameters may be used to disable the host submodule. - ibc.applications.transfer.v1.MsgTransfer: - type: object - properties: - source_port: - type: string - title: the port on which the packet will be sent - source_channel: - type: string - title: the channel by which the packet will be sent - token: - title: the tokens to be transferred - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - sender: - type: string - title: the sender address - receiver: - type: string - title: the recipient address on the destination chain - timeout_height: - description: |- - Timeout height relative to the current block height. - The timeout is disabled when set to 0. - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - timeout_timestamp: - type: string - format: uint64 - description: |- - Timeout timestamp in absolute nanoseconds since unix epoch. - The timeout is disabled when set to 0. - memo: - type: string - title: optional memo - title: >- - MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between - - ICS20 enabled chains. See ICS Spec here: - - https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token-transfer#data-structures - ibc.applications.transfer.v1.MsgTransferResponse: - type: object - properties: - sequence: - type: string - format: uint64 - title: sequence number of the transfer packet sent - description: MsgTransferResponse defines the Msg/Transfer response type. - ibc.applications.transfer.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the transfer parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token transfers - from this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token - transfers to this - - chain. - description: MsgUpdateParams is the Msg/UpdateParams request type. - ibc.applications.transfer.v1.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. - ibc.applications.transfer.v1.Params: - type: object - properties: - send_enabled: - type: boolean - description: >- - send_enabled enables or disables all cross-chain token transfers from - this - - chain. - receive_enabled: - type: boolean - description: >- - receive_enabled enables or disables all cross-chain token transfers to - this - - chain. - description: >- - Params defines the set of IBC transfer parameters. - - NOTE: To prevent a single token from being transferred, set the - - TransfersEnabled parameter to true and then set the bank module's - SendEnabled - - parameter for the denomination to false. - ibc.core.client.v1.Height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: |- - Normally the RevisionHeight is incremented at each height while keeping - RevisionNumber the same. However some consensus algorithms may choose to - reset the height in certain conditions e.g. hard forks, state-machine - breaking changes In these cases, the RevisionNumber is incremented so that - height continues to be monitonically increasing even as the RevisionHeight - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of updating - and - - freezing clients - ibc.core.channel.v1.Channel: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: |- - State defines if a channel is in one of the following states: - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other end of the - channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: |- - list of connection identifiers, in order, along which packets sent on - this channel will travel - version: - type: string - title: opaque channel version, which is agreed upon during the handshake - description: |- - Channel defines pipeline for exactly-once packet delivery between specific - modules on separate blockchains, which has at least one end capable of - sending packets and one end capable of receiving packets. - ibc.core.channel.v1.Counterparty: - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other end of the - channel. - channel_id: - type: string - title: channel end on the counterparty chain - title: Counterparty defines a channel end counterparty - ibc.core.channel.v1.MsgAcknowledgement: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, where a - Packet - - with an earlier sequence number must be sent and received before a - Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: actual opaque bytes transferred directly to the application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is incremented - so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: block timestamp (in nanoseconds) after which the packet times out - title: >- - Packet defines a type that carries data across different chains - through IBC - acknowledgement: - type: string - format: byte - proof_acked: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - title: MsgAcknowledgement receives incoming IBC acknowledgement - ibc.core.channel.v1.MsgAcknowledgementResponse: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: |- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the execution of a - message - description: MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. - ibc.core.channel.v1.MsgChannelCloseConfirm: - type: object - properties: - port_id: - type: string - channel_id: - type: string - proof_init: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - description: |- - MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B - to acknowledge the change of channel state to CLOSED on Chain A. - ibc.core.channel.v1.MsgChannelCloseConfirmResponse: - type: object - description: >- - MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm - response - - type. - ibc.core.channel.v1.MsgChannelCloseInit: - type: object - properties: - port_id: - type: string - channel_id: - type: string - signer: - type: string - description: |- - MsgChannelCloseInit defines a msg sent by a Relayer to Chain A - to close a channel with Chain B. - ibc.core.channel.v1.MsgChannelCloseInitResponse: - type: object - description: >- - MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response - type. - ibc.core.channel.v1.MsgChannelOpenAck: - type: object - properties: - port_id: - type: string - channel_id: - type: string - counterparty_channel_id: - type: string - counterparty_version: - type: string - proof_try: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - description: >- - MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge - - the change of channel state to TRYOPEN on Chain B. - ibc.core.channel.v1.MsgChannelOpenAckResponse: - type: object - description: MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. - ibc.core.channel.v1.MsgChannelOpenConfirm: - type: object - properties: - port_id: - type: string - channel_id: - type: string - proof_ack: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - description: |- - MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to - acknowledge the change of channel state to OPEN on Chain A. - ibc.core.channel.v1.MsgChannelOpenConfirmResponse: - type: object - description: |- - MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response - type. - ibc.core.channel.v1.MsgChannelOpenInit: - type: object - properties: - port_id: - type: string - channel: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: |- - State defines if a channel is in one of the following states: - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other end of the - channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which packets sent - on - - this channel will travel - version: - type: string - title: opaque channel version, which is agreed upon during the handshake - description: >- - Channel defines pipeline for exactly-once packet delivery between - specific - - modules on separate blockchains, which has at least one end capable of - - sending packets and one end capable of receiving packets. - signer: - type: string - description: >- - MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. - It - - is called by a relayer on Chain A. - ibc.core.channel.v1.MsgChannelOpenInitResponse: - type: object - properties: - channel_id: - type: string - version: - type: string - description: MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. - ibc.core.channel.v1.MsgChannelOpenTry: - type: object - properties: - port_id: - type: string - previous_channel_id: - type: string - description: >- - Deprecated: this field is unused. Crossing hello's are no longer - supported in core IBC. - channel: - type: object - properties: - state: - title: current state of the channel end - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: |- - State defines if a channel is in one of the following states: - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - ordering: - title: whether the channel is ordered or unordered - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - counterparty: - title: counterparty channel end - type: object - properties: - port_id: - type: string - description: >- - port on the counterparty chain which owns the other end of the - channel. - channel_id: - type: string - title: channel end on the counterparty chain - connection_hops: - type: array - items: - type: string - title: >- - list of connection identifiers, in order, along which packets sent - on - - this channel will travel - version: - type: string - title: opaque channel version, which is agreed upon during the handshake - description: >- - Channel defines pipeline for exactly-once packet delivery between - specific - - modules on separate blockchains, which has at least one end capable of - - sending packets and one end capable of receiving packets. - counterparty_version: - type: string - proof_init: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - description: >- - MsgChannelOpenInit defines a msg sent by a Relayer to try to open a - channel - - on Chain B. The version field within the Channel field has been - deprecated. Its - - value will be ignored by core IBC. - ibc.core.channel.v1.MsgChannelOpenTryResponse: - type: object - properties: - version: - type: string - channel_id: - type: string - description: MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. - ibc.core.channel.v1.MsgRecvPacket: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, where a - Packet - - with an earlier sequence number must be sent and received before a - Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: actual opaque bytes transferred directly to the application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is incremented - so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: block timestamp (in nanoseconds) after which the packet times out - title: >- - Packet defines a type that carries data across different chains - through IBC - proof_commitment: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - title: MsgRecvPacket receives incoming IBC packet - ibc.core.channel.v1.MsgRecvPacketResponse: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: |- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the execution of a - message - description: MsgRecvPacketResponse defines the Msg/RecvPacket response type. - ibc.core.channel.v1.MsgTimeout: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, where a - Packet - - with an earlier sequence number must be sent and received before a - Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: actual opaque bytes transferred directly to the application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is incremented - so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: block timestamp (in nanoseconds) after which the packet times out - title: >- - Packet defines a type that carries data across different chains - through IBC - proof_unreceived: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - next_sequence_recv: - type: string - format: uint64 - signer: - type: string - title: MsgTimeout receives timed-out packet - ibc.core.channel.v1.MsgTimeoutOnClose: - type: object - properties: - packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, where a - Packet - - with an earlier sequence number must be sent and received before a - Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: actual opaque bytes transferred directly to the application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may - choose to - - reset the height in certain conditions e.g. hard forks, - state-machine - - breaking changes In these cases, the RevisionNumber is incremented - so that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: block timestamp (in nanoseconds) after which the packet times out - title: >- - Packet defines a type that carries data across different chains - through IBC - proof_unreceived: - type: string - format: byte - proof_close: - type: string - format: byte - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - next_sequence_recv: - type: string - format: uint64 - signer: - type: string - description: MsgTimeoutOnClose timed-out packet upon counterparty channel closure. - ibc.core.channel.v1.MsgTimeoutOnCloseResponse: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: |- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the execution of a - message - description: MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. - ibc.core.channel.v1.MsgTimeoutResponse: - type: object - properties: - result: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: |- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the execution of a - message - description: MsgTimeoutResponse defines the Msg/Timeout response type. - ibc.core.channel.v1.Order: - type: string - enum: - - ORDER_NONE_UNSPECIFIED - - ORDER_UNORDERED - - ORDER_ORDERED - default: ORDER_NONE_UNSPECIFIED - description: |- - - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering - - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in - which they were sent. - - ORDER_ORDERED: packets are delivered exactly in the order which they were sent - title: Order defines if a channel is ORDERED or UNORDERED - ibc.core.channel.v1.Packet: - type: object - properties: - sequence: - type: string - format: uint64 - description: >- - number corresponds to the order of sends and receives, where a Packet - - with an earlier sequence number must be sent and received before a - Packet - - with a later sequence number. - source_port: - type: string - description: identifies the port on the sending chain. - source_channel: - type: string - description: identifies the channel end on the sending chain. - destination_port: - type: string - description: identifies the port on the receiving chain. - destination_channel: - type: string - description: identifies the channel end on the receiving chain. - data: - type: string - format: byte - title: actual opaque bytes transferred directly to the application module - timeout_height: - title: block height after which the packet times out - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - timeout_timestamp: - type: string - format: uint64 - title: block timestamp (in nanoseconds) after which the packet times out - title: >- - Packet defines a type that carries data across different chains through - IBC - ibc.core.channel.v1.ResponseResultType: - type: string - enum: - - RESPONSE_RESULT_TYPE_UNSPECIFIED - - RESPONSE_RESULT_TYPE_NOOP - - RESPONSE_RESULT_TYPE_SUCCESS - default: RESPONSE_RESULT_TYPE_UNSPECIFIED - description: |- - - RESPONSE_RESULT_TYPE_UNSPECIFIED: Default zero value enumeration - - RESPONSE_RESULT_TYPE_NOOP: The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - - RESPONSE_RESULT_TYPE_SUCCESS: The message was executed successfully - title: >- - ResponseResultType defines the possible outcomes of the execution of a - message - ibc.core.channel.v1.State: - type: string - enum: - - STATE_UNINITIALIZED_UNSPECIFIED - - STATE_INIT - - STATE_TRYOPEN - - STATE_OPEN - - STATE_CLOSED - default: STATE_UNINITIALIZED_UNSPECIFIED - description: |- - State defines if a channel is in one of the following states: - CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. - - - STATE_UNINITIALIZED_UNSPECIFIED: Default State - - STATE_INIT: A channel has just started the opening handshake. - - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain. - - STATE_OPEN: A channel has completed the handshake. Open channels are - ready to send and receive packets. - - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive - packets. - cosmos.upgrade.v1beta1.Plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by the upgraded - - version of the software to apply any special "on-upgrade" commands - during - - the first BeginBlock method after the upgrade is applied. It is also - used - - to detect whether a software version can handle a given upgrade. If no - - upgrade handler with this name has been set in the software, it will - be - - assumed that the software is out-of-date when the upgrade Time or - Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: The height at which the upgrade must be performed. - info: - type: string - title: |- - Any application specific upgrade info to be included on-chain - such as a git commit that validators could automatically upgrade to - upgraded_client_state: - description: >- - Deprecated: UpgradedClientState field has been deprecated. IBC upgrade - logic has been - - moved to the IBC module in the sub module 02-client. - - If this field is not empty, an error will be thrown. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it should - occur. - ibc.core.client.v1.MsgCreateClient: - type: object - properties: - client_state: - title: light client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - description: |- - consensus state associated with the client that corresponds to a given - height. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: MsgCreateClient defines a message to create an IBC client - ibc.core.client.v1.MsgCreateClientResponse: - type: object - description: MsgCreateClientResponse defines the Msg/CreateClient response type. - ibc.core.client.v1.MsgIBCSoftwareUpgrade: - type: object - properties: - plan: - type: object - properties: - name: - type: string - description: >- - Sets the name for the upgrade. This name will be used by the - upgraded - - version of the software to apply any special "on-upgrade" commands - during - - the first BeginBlock method after the upgrade is applied. It is - also used - - to detect whether a software version can handle a given upgrade. - If no - - upgrade handler with this name has been set in the software, it - will be - - assumed that the software is out-of-date when the upgrade Time or - Height is - - reached and the software will exit. - time: - type: string - format: date-time - description: >- - Deprecated: Time based upgrades have been deprecated. Time based - upgrade logic - - has been removed from the SDK. - - If this field is not empty, an error will be thrown. - height: - type: string - format: int64 - description: The height at which the upgrade must be performed. - info: - type: string - title: >- - Any application specific upgrade info to be included on-chain - - such as a git commit that validators could automatically upgrade - to - upgraded_client_state: - description: >- - Deprecated: UpgradedClientState field has been deprecated. IBC - upgrade logic has been - - moved to the IBC module in the sub module 02-client. - - If this field is not empty, an error will be thrown. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all - types that they - - expect it to use in the context of Any. However, for URLs - which use the - - scheme `http`, `https`, or no scheme, one can optionally set - up a type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on - the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning - with - - type.googleapis.com. As of May 2023, there are no widely used - type server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might - be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - Plan specifies information about a planned upgrade and when it should - occur. - upgraded_client_state: - description: >- - An UpgradedClientState must be provided to perform an IBC breaking - upgrade. - - This will make the chain commit to the correct upgraded (self) client - state - - before the upgrade occurs, so that connecting chains can verify that - the - - new upgraded client is valid by verifying a proof on the previous - version - - of the chain. This will allow IBC connections to persist smoothly - across - - planned chain upgrades. Correspondingly, the UpgradedClientState field - has been - - deprecated in the Cosmos SDK to allow for this logic to exist solely - in - - the 02-client module. - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - signer: - type: string - title: signer address - title: >- - MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of - an IBC client using a v1 governance proposal - ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse: - type: object - description: >- - MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response - type. - ibc.core.client.v1.MsgRecoverClient: - type: object - properties: - subject_client_id: - type: string - title: >- - the client identifier for the client to be updated if the proposal - passes - substitute_client_id: - type: string - title: >- - the substitute client identifier for the client which will replace the - subject - - client - signer: - type: string - title: signer address - description: >- - MsgRecoverClient defines the message used to recover a frozen or expired - client. - ibc.core.client.v1.MsgRecoverClientResponse: - type: object - description: MsgRecoverClientResponse defines the Msg/RecoverClient response type. - ibc.core.client.v1.MsgSubmitMisbehaviour: - type: object - properties: - client_id: - type: string - title: client unique identifier - misbehaviour: - title: misbehaviour used for freezing the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: |- - MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for - light client misbehaviour. - This message has been deprecated. Use MsgUpdateClient instead. - ibc.core.client.v1.MsgSubmitMisbehaviourResponse: - type: object - description: |- - MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response - type. - ibc.core.client.v1.MsgUpdateClient: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_message: - title: client message to update the light client - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - signer: - type: string - title: signer address - description: |- - MsgUpdateClient defines an sdk.Msg to update a IBC client state using - the given client message. - ibc.core.client.v1.MsgUpdateClientResponse: - type: object - description: MsgUpdateClientResponse defines the Msg/UpdateClient response type. - ibc.core.client.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the client parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: >- - allowed_clients defines the list of allowed client state types - which can be created - - and interacted with. If a client type is removed from the allowed - clients list, usage - - of this client will be disabled until it is added again to the - list. - description: MsgUpdateParams defines the sdk.Msg type to update the client parameters. - ibc.core.client.v1.MsgUpdateParamsResponse: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - ibc.core.client.v1.MsgUpgradeClient: - type: object - properties: - client_id: - type: string - title: client unique identifier - client_state: - title: upgraded client state - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - consensus_state: - title: >- - upgraded consensus state, only contains enough information to serve as - a - - basis of trust in update logic - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_upgrade_client: - type: string - format: byte - title: proof that old chain committed to new client - proof_upgrade_consensus_state: - type: string - format: byte - title: proof that old chain committed to new consensus state - signer: - type: string - title: signer address - title: >- - MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new - client - - state - ibc.core.client.v1.MsgUpgradeClientResponse: - type: object - description: MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. - ibc.core.client.v1.Params: - type: object - properties: - allowed_clients: - type: array - items: - type: string - description: >- - allowed_clients defines the list of allowed client state types which - can be created - - and interacted with. If a client type is removed from the allowed - clients list, usage - - of this client will be disabled until it is added again to the list. - description: Params defines the set of IBC light client parameters. - ibc.core.commitment.v1.MerklePrefix: - type: object - properties: - key_prefix: - type: string - format: byte - title: |- - MerklePrefix is merkle path prefixed to the key. - The constructed key from the Path and the key will be append(Path.KeyPath, - append(Path.KeyPrefix, key...)) - ibc.core.connection.v1.Counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a connection - end. - ibc.core.connection.v1.MsgConnectionOpenAck: - type: object - properties: - connection_id: - type: string - counterparty_connection_id: - type: string - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - proof_try: - type: string - format: byte - title: |- - proof of the initialization the connection on Chain B: `UNITIALIZED -> - TRYOPEN` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: |- - MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to - acknowledge the change of connection state to TRYOPEN on Chain B. - ibc.core.connection.v1.MsgConnectionOpenAckResponse: - type: object - description: >- - MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response - type. - ibc.core.connection.v1.MsgConnectionOpenConfirm: - type: object - properties: - connection_id: - type: string - proof_ack: - type: string - format: byte - title: >- - proof for the change of the connection state on Chain A: `INIT -> - OPEN` - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - description: |- - MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to - acknowledge the change of connection state to OPEN on Chain A. - ibc.core.connection.v1.MsgConnectionOpenConfirmResponse: - type: object - description: |- - MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm - response type. - ibc.core.connection.v1.MsgConnectionOpenInit: - type: object - properties: - client_id: - type: string - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - delay_period: - type: string - format: uint64 - signer: - type: string - description: |- - MsgConnectionOpenInit defines the msg sent by an account on Chain A to - initialize a connection with Chain B. - ibc.core.connection.v1.MsgConnectionOpenInitResponse: - type: object - description: |- - MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response - type. - ibc.core.connection.v1.MsgConnectionOpenTry: - type: object - properties: - client_id: - type: string - previous_connection_id: - type: string - description: >- - Deprecated: this field is unused. Crossing hellos are no longer - supported in core IBC. - client_state: - type: object - properties: - '@type': - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized - - protocol buffer message. This string must contain at least - - one "/" character. The last segment of the URL's path must - represent - - the fully qualified name of the type (as in - - `path/google.protobuf.Duration`). The name should be in a - canonical form - - (e.g., leading "." is not accepted). - - - In practice, teams usually precompile into the binary all types - that they - - expect it to use in the context of Any. However, for URLs which - use the - - scheme `http`, `https`, or no scheme, one can optionally set up a - type - - server that maps type URLs to message definitions as follows: - - - * If no scheme is provided, `https` is assumed. - - * An HTTP GET on the URL must yield a [google.protobuf.Type][] - value in binary format, or produce an error. - * Applications are allowed to cache lookup results based on the - URL, or have them precompiled into a binary to avoid any - lookup. Therefore, binary compatibility needs to be preserved - on changes to types. (Use versioned type names to manage - breaking changes.) - - Note: this functionality is not currently available in the - official - - protobuf release, and it is not used for type URLs beginning with - - type.googleapis.com. As of May 2023, there are no widely used type - server - - implementations and no plans to implement one. - - - Schemes other than `http`, `https` (or the empty scheme) might be - - used with implementation specific semantics. - additionalProperties: {} - description: >- - `Any` contains an arbitrary serialized protocol buffer message along - with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values in the - form - - of utility functions or additional generated methods of the Any type. - - - Example 1: Pack and unpack a message in C++. - - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } - - Example 2: Pack and unpack a message in Java. - - Foo foo = ...; - Any any = Any.pack(foo); - ... - if (any.is(Foo.class)) { - foo = any.unpack(Foo.class); - } - // or ... - if (any.isSameTypeAs(Foo.getDefaultInstance())) { - foo = any.unpack(Foo.getDefaultInstance()); - } - - Example 3: Pack and unpack a message in Python. - - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... - - Example 4: Pack and unpack a message in Go - - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } - - The pack methods provided by protobuf library will by default use - - 'type.googleapis.com/full.type.name' as the type URL and the unpack - - methods only use the fully qualified type name after the last '/' - - in the type URL, for example "foo.bar.com/x/y.z" will yield type - - name "y.z". - - - JSON - - ==== - - The JSON representation of an `Any` value uses the regular - - representation of the deserialized, embedded message, with an - - additional field `@type` which contains the type URL. Example: - - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } - - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - - If the embedded message type is well-known and has a custom JSON - - representation, that representation will be embedded adding a field - - `value` which holds the custom JSON in addition to the `@type` - - field. Example (for message [google.protobuf.Duration][]): - - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - counterparty: - type: object - properties: - client_id: - type: string - description: >- - identifies the client on the counterparty chain associated with a - given - - connection. - connection_id: - type: string - description: >- - identifies the connection end on the counterparty chain associated - with a - - given connection. - prefix: - description: commitment merkle prefix of the counterparty chain. - type: object - properties: - key_prefix: - type: string - format: byte - title: >- - MerklePrefix is merkle path prefixed to the key. - - The constructed key from the Path and the key will be - append(Path.KeyPath, - - append(Path.KeyPrefix, key...)) - description: >- - Counterparty defines the counterparty chain associated with a - connection end. - delay_period: - type: string - format: uint64 - counterparty_versions: - type: array - items: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: >- - Version defines the versioning scheme used to negotiate the IBC - verison in - - the connection handshake. - proof_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - proof_init: - type: string - format: byte - title: |- - proof of the initialization the connection on Chain A: `UNITIALIZED -> - INIT` - proof_client: - type: string - format: byte - title: proof of client state included in message - proof_consensus: - type: string - format: byte - title: proof of client consensus state - consensus_height: - type: object - properties: - revision_number: - type: string - format: uint64 - title: the revision that the client is currently on - revision_height: - type: string - format: uint64 - title: the height within the given revision - description: >- - Normally the RevisionHeight is incremented at each height while - keeping - - RevisionNumber the same. However some consensus algorithms may choose - to - - reset the height in certain conditions e.g. hard forks, state-machine - - breaking changes In these cases, the RevisionNumber is incremented so - that - - height continues to be monitonically increasing even as the - RevisionHeight - - gets reset - title: >- - Height is a monotonically increasing data type - - that can be compared against another Height for the purposes of - updating and - - freezing clients - signer: - type: string - host_consensus_state_proof: - type: string - format: byte - title: >- - optional proof data for host state machines that are unable to - introspect their own consensus state - description: |- - MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a - connection on Chain B. - ibc.core.connection.v1.MsgConnectionOpenTryResponse: - type: object - description: >- - MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response - type. - ibc.core.connection.v1.MsgUpdateParams: - type: object - properties: - signer: - type: string - title: signer address - params: - description: |- - params defines the connection parameters to update. - - NOTE: All parameters must be supplied. - type: object - properties: - max_expected_time_per_block: - type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to enforce - block delay. This parameter should reflect the - - largest amount of time that the chain might reasonably take to - produce the next block under normal operating - - conditions. A safe choice is 3-5x the expected time per block. - description: >- - MsgUpdateParams defines the sdk.Msg type to update the connection - parameters. - ibc.core.connection.v1.MsgUpdateParamsResponse: - type: object - description: MsgUpdateParamsResponse defines the MsgUpdateParams response type. - ibc.core.connection.v1.Params: - type: object - properties: - max_expected_time_per_block: - type: string - format: uint64 - description: >- - maximum expected time per block (in nanoseconds), used to enforce - block delay. This parameter should reflect the - - largest amount of time that the chain might reasonably take to produce - the next block under normal operating - - conditions. A safe choice is 3-5x the expected time per block. - description: Params defines the set of Connection parameters. - ibc.core.connection.v1.Version: - type: object - properties: - identifier: - type: string - title: unique version identifier - features: - type: array - items: - type: string - title: list of features compatible with the specified identifier - description: |- - Version defines the versioning scheme used to negotiate the IBC verison in - the connection handshake. - cosmos.base.query.v1beta1.PageRequest: - type: object - properties: - key: - type: string - format: byte - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - offset: - type: string - format: uint64 - description: |- - offset is a numeric offset that can be used when key is unavailable. - It is less efficient than using key. Only one of offset or key should - be set. - limit: - type: string - format: uint64 - description: >- - limit is the total number of results to be returned in the result - page. - - If left empty it will default to a value to be set by each app. - count_total: - type: boolean - description: >- - count_total is set to true to indicate that the result set should - include - - a count of the total number of items available for pagination in UIs. - - count_total is only respected when offset is used. It is ignored when - key - - is set. - reverse: - type: boolean - description: >- - reverse is set to true if results are to be returned in the descending - order. - - - Since: cosmos-sdk 0.43 - description: |- - message SomeRequest { - Foo some_parameter = 1; - PageRequest pagination = 2; - } - title: |- - PageRequest is to be embedded in gRPC request messages for efficient - pagination. Ex: - cosmos.base.query.v1beta1.PageResponse: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: |- - total is total number of results available if PageRequest.count_total - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.Agreement: - type: object - properties: - id: - type: string - providerId: - type: string - allocationId: - type: string - capacity: - type: string - format: uint64 - startBlock: - type: string - format: uint64 - endBlock: - type: string - format: uint64 - creator: - type: string - owner: - type: string - structs.structs.Allocation: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - structs.structs.Fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - structs.structs.GridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structs.structs.GridRecord: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - structs.structs.Guild: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - endpoint: - type: string - creator: - type: string - owner: - type: string - joinInfusionMinimum: - type: string - format: uint64 - joinInfusionMinimumBypassByRequest: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - joinInfusionMinimumBypassByInvite: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - primaryReactorId: - type: string - entrySubstationId: - type: string - structs.structs.GuildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - structs.structs.Infusion: - type: object - properties: - destinationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - destinationId: - type: string - fuel: - type: string - format: uint64 - power: - type: string - format: uint64 - commission: - type: string - playerId: - type: string - address: - type: string - ratio: - type: string - format: uint64 - defusing: - type: string - structs.structs.InternalAddressAssociation: - type: object - properties: - address: - type: string - objectId: - type: string - structs.structs.Params: - type: object - description: Params defines the parameters for the module. - structs.structs.PermissionRecord: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - structs.structs.Planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - structs.structs.PlanetAttributeRecord: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - structs.structs.PlanetAttributes: - type: object - properties: - planetaryShield: - type: string - format: uint64 - repairNetworkQuantity: - type: string - format: uint64 - defensiveCannonQuantity: - type: string - format: uint64 - coordinatedGlobalShieldNetworkQuantity: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkQuantity: - type: string - format: uint64 - advancedLowOrbitBallisticsInterceptorNetworkQuantity: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkSuccessRateNumerator: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkSuccessRateDenominator: - type: string - format: uint64 - orbitalJammingStationQuantity: - type: string - format: uint64 - advancedOrbitalJammingStationQuantity: - type: string - format: uint64 - blockStartRaid: - type: string - format: uint64 - structs.structs.Player: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - guildId: - type: string - substationId: - type: string - creator: - type: string - primaryAddress: - type: string - planetId: - type: string - fleetId: - type: string - structs.structs.PlayerInventory: - type: object - properties: - rocks: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - structs.structs.Provider: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - creator: - type: string - owner: - type: string - structs.structs.QueryAddressResponse: - type: object - properties: - address: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - structs.structs.QueryAllAddressResponse: - type: object - properties: - address: - type: array - items: - type: object - properties: - address: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllAgreementResponse: - type: object - properties: - Agreement: - type: array - items: - type: object - properties: - id: - type: string - providerId: - type: string - allocationId: - type: string - capacity: - type: string - format: uint64 - startBlock: - type: string - format: uint64 - endBlock: - type: string - format: uint64 - creator: - type: string - owner: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllAllocationResponse: - type: object - properties: - Allocation: - type: array - items: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - structs.structs.QueryAllFleetResponse: - type: object - properties: - Fleet: - type: array - items: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllGridResponse: - type: object - properties: - gridRecords: - type: array - items: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllGuildBankCollateralAddressResponse: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllGuildMembershipApplicationResponse: - type: object - properties: - GuildMembershipApplication: - type: array - items: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllGuildResponse: - type: object - properties: - Guild: - type: array - items: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - endpoint: - type: string - creator: - type: string - owner: - type: string - joinInfusionMinimum: - type: string - format: uint64 - joinInfusionMinimumBypassByRequest: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - joinInfusionMinimumBypassByInvite: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - primaryReactorId: - type: string - entrySubstationId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllInfusionResponse: - type: object - properties: - Infusion: - type: array - items: - type: object - properties: - destinationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - destinationId: - type: string - fuel: - type: string - format: uint64 - power: - type: string - format: uint64 - commission: - type: string - playerId: - type: string - address: - type: string - ratio: - type: string - format: uint64 - defusing: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - status: - type: array - items: - type: string - format: uint64 - structs.structs.QueryAllPermissionResponse: - type: object - properties: - permissionRecords: - type: array - items: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllPlanetAttributeResponse: - type: object - properties: - planetAttributeRecords: - type: array - items: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllPlanetResponse: - type: object - properties: - Planet: - type: array - items: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllPlayerHaltedResponse: - type: object - properties: - PlayerId: - type: array - items: - type: string - structs.structs.QueryAllPlayerResponse: - type: object - properties: - Player: - type: array - items: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - guildId: - type: string - substationId: - type: string - creator: - type: string - primaryAddress: - type: string - planetId: - type: string - fleetId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllProviderCollateralAddressResponse: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllProviderEarningsAddressResponse: - type: object - properties: - internalAddressAssociation: - type: array - items: - type: object - properties: - address: - type: string - objectId: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllProviderResponse: - type: object - properties: - Provider: - type: array - items: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - creator: - type: string - owner: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllReactorResponse: - type: object - properties: - Reactor: - type: array - items: - type: object - properties: - id: - type: string - validator: - type: string - guildId: - type: string - defaultCommission: - type: string - rawAddress: - type: string - format: byte - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllStructAttributeResponse: - type: object - properties: - structAttributeRecords: - type: array - items: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllStructResponse: - type: object - properties: - Struct: - type: array - items: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllStructTypeResponse: - type: object - properties: - StructType: - type: array - items: - type: object - properties: - id: - type: string - format: uint64 - type: - type: string - description: TODO Deprecating... Will match with Class for now. - class: - type: string - title: New Struct Type Identity Details - classAbbreviation: - type: string - defaultCosmeticModelNumber: - type: string - defaultCosmeticName: - type: string - category: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - description: Planet or Fleet - title: Fundamental attributes - buildLimit: - type: string - format: uint64 - title: How many of this Struct Type a player can have - buildDifficulty: - type: string - format: uint64 - title: How much compute is needed to build - buildDraw: - type: string - format: uint64 - title: How much energy the Struct consumes during building - maxHealth: - type: string - format: uint64 - title: How much damage can it take - passiveDraw: - type: string - format: uint64 - title: How much energy the Struct consumes when active - possibleAmbit: - type: string - format: uint64 - description: >- - Where can it be built and moved to. Usually only a single ambit - but some Structs have multiple possible (i.e. Command Ship) - title: |- - Details about location and movement - TODO move category to here and make it flag based too - Replicate what was done for ambits flags - movable: - type: boolean - title: Can the Struct change ambit? - slotBound: - type: boolean - title: >- - Does the Struct occupy a slot. Trying to find something to help - set Command Ships apart - primaryWeapon: - title: Primary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - primaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - primaryWeaponCharge: - type: string - format: uint64 - primaryWeaponAmbits: - type: string - format: uint64 - primaryWeaponTargets: - type: string - format: uint64 - primaryWeaponShots: - type: string - format: uint64 - primaryWeaponDamage: - type: string - format: uint64 - primaryWeaponBlockable: - type: boolean - primaryWeaponCounterable: - type: boolean - primaryWeaponRecoilDamage: - type: string - format: uint64 - primaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - primaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - secondaryWeapon: - title: Secondary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - secondaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - secondaryWeaponCharge: - type: string - format: uint64 - secondaryWeaponAmbits: - type: string - format: uint64 - secondaryWeaponTargets: - type: string - format: uint64 - secondaryWeaponShots: - type: string - format: uint64 - secondaryWeaponDamage: - type: string - format: uint64 - secondaryWeaponBlockable: - type: boolean - secondaryWeaponCounterable: - type: boolean - secondaryWeaponRecoilDamage: - type: string - format: uint64 - secondaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - secondaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - passiveWeaponry: - title: Tech Tree Features - type: string - enum: - - noPassiveWeaponry - - counterAttack - - strongCounterAttack - - advancedCounterAttack - - lastResort - default: noPassiveWeaponry - unitDefenses: - type: string - enum: - - noUnitDefenses - - defensiveManeuver - - signalJamming - - armour - - indirectCombatModule - - stealthMode - - perimeterFencing - - reinforcedWalls - default: noUnitDefenses - oreReserveDefenses: - type: string - enum: - - noOreReserveDefenses - - coordinatedReserveResponseTracker - - rapidResponsePackage - - activeScanning - - monitoringStation - - oreBunker - default: noOreReserveDefenses - planetaryDefenses: - type: string - enum: - - noPlanetaryDefense - - defensiveCannon - - lowOrbitBallisticInterceptorNetwork - default: noPlanetaryDefense - title: >- - - lowOrbitBallisticInterceptorNetwork: - advancedLowOrbitBallisticInterceptorNetwork = 3; - - repairNetwork = 4; - - coordinatedGlobalShieldNetwork = 5; - - orbitalJammingStation = 6; - - advancedOrbitalJammingStation = 7; - planetaryMining: - type: string - enum: - - noPlanetaryMining - - oreMiningRig - default: noPlanetaryMining - planetaryRefinery: - type: string - enum: - - noPlanetaryRefinery - - oreRefinery - default: noPlanetaryRefinery - powerGeneration: - type: string - enum: - - noPowerGeneration - - smallGenerator - - mediumGenerator - - largeGenerator - default: noPowerGeneration - activateCharge: - type: string - format: uint64 - title: Charge uses - buildCharge: - type: string - format: uint64 - defendChangeCharge: - type: string - format: uint64 - moveCharge: - type: string - format: uint64 - oreMiningCharge: - type: string - format: uint64 - oreRefiningCharge: - type: string - format: uint64 - stealthActivateCharge: - type: string - format: uint64 - attackReduction: - type: string - format: uint64 - description: For Defensive Cannon - title: Tech Tree Attributes - attackCounterable: - type: boolean - title: For Indirect Combat Module - stealthSystems: - type: boolean - title: For Stealth Mode - counterAttack: - type: string - format: uint64 - title: Counter - counterAttackSameAmbit: - type: string - format: uint64 - title: Advanced Counter - postDestructionDamage: - type: string - format: uint64 - generatingRate: - type: string - format: uint64 - title: Power Generation - planetaryShieldContribution: - type: string - format: uint64 - title: The shield that is added to the Planet - oreMiningDifficulty: - type: string - format: uint64 - oreRefiningDifficulty: - type: string - format: uint64 - unguidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - unguidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - guidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - guidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - triggerRaidDefeatByDestruction: - type: boolean - description: >- - I wish this was higher up in a different area of the definition - - but I really don't feel like renumbering this entire thing - again. - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryAllSubstationResponse: - type: object - properties: - Substation: - type: array - items: - type: object - properties: - id: - type: string - owner: - type: string - creator: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total - - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. - - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - structs.structs.QueryBlockHeightResponse: - type: object - properties: - blockHeight: - type: string - format: uint64 - structs.structs.QueryGetAgreementResponse: - type: object - properties: - Agreement: - type: object - properties: - id: - type: string - providerId: - type: string - allocationId: - type: string - capacity: - type: string - format: uint64 - startBlock: - type: string - format: uint64 - endBlock: - type: string - format: uint64 - creator: - type: string - owner: - type: string - structs.structs.QueryGetAllocationResponse: - type: object - properties: - Allocation: - type: object - properties: - id: - type: string - type: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - sourceObjectId: - type: string - title: Core allocation details - index: - type: string - format: uint64 - destinationId: - type: string - creator: - type: string - title: Who does this currently belong to - controller: - type: string - locked: - type: boolean - title: Locking will be needed for IBC - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structs.structs.QueryGetFleetResponse: - type: object - properties: - Fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - structs.structs.QueryGetGridResponse: - type: object - properties: - gridRecord: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - title: Generic Responses for Permissions - structs.structs.QueryGetGuildMembershipApplicationResponse: - type: object - properties: - GuildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - structs.structs.QueryGetGuildResponse: - type: object - properties: - Guild: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - endpoint: - type: string - creator: - type: string - owner: - type: string - joinInfusionMinimum: - type: string - format: uint64 - joinInfusionMinimumBypassByRequest: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - joinInfusionMinimumBypassByInvite: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - primaryReactorId: - type: string - entrySubstationId: - type: string - structs.structs.QueryGetInfusionResponse: - type: object - properties: - Infusion: - type: object - properties: - destinationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - destinationId: - type: string - fuel: - type: string - format: uint64 - power: - type: string - format: uint64 - commission: - type: string - playerId: - type: string - address: - type: string - ratio: - type: string - format: uint64 - defusing: - type: string - structs.structs.QueryGetPermissionResponse: - type: object - properties: - permissionRecord: - type: object - properties: - permissionId: - type: string - value: - type: string - format: uint64 - title: Generic Responses for Permissions - structs.structs.QueryGetPlanetAttributeResponse: - type: object - properties: - attribute: - type: string - format: uint64 - structs.structs.QueryGetPlanetResponse: - type: object - properties: - Planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - planetAttributes: - type: object - properties: - planetaryShield: - type: string - format: uint64 - repairNetworkQuantity: - type: string - format: uint64 - defensiveCannonQuantity: - type: string - format: uint64 - coordinatedGlobalShieldNetworkQuantity: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkQuantity: - type: string - format: uint64 - advancedLowOrbitBallisticsInterceptorNetworkQuantity: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkSuccessRateNumerator: - type: string - format: uint64 - lowOrbitBallisticsInterceptorNetworkSuccessRateDenominator: - type: string - format: uint64 - orbitalJammingStationQuantity: - type: string - format: uint64 - advancedOrbitalJammingStationQuantity: - type: string - format: uint64 - blockStartRaid: - type: string - format: uint64 - structs.structs.QueryGetPlayerResponse: - type: object - properties: - Player: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - guildId: - type: string - substationId: - type: string - creator: - type: string - primaryAddress: - type: string - planetId: - type: string - fleetId: - type: string - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - playerInventory: - type: object - properties: - rocks: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - halted: - type: boolean - structs.structs.QueryGetProviderResponse: - type: object - properties: - Provider: - type: object - properties: - id: - type: string - index: - type: string - format: uint64 - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. - - - NOTE: The amount field is an Int which implements the custom - method - - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - creator: - type: string - owner: - type: string - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structs.structs.QueryGetReactorResponse: - type: object - properties: - Reactor: - type: object - properties: - id: - type: string - validator: - type: string - guildId: - type: string - defaultCommission: - type: string - rawAddress: - type: string - format: byte - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structs.structs.QueryGetStructAttributeResponse: - type: object - properties: - attribute: - type: string - format: uint64 - structs.structs.QueryGetStructResponse: - type: object - properties: - Struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structAttributes: - type: object - properties: - health: - type: string - format: uint64 - status: - type: string - format: uint64 - blockStartBuild: - type: string - format: uint64 - blockStartOreMine: - type: string - format: uint64 - blockStartOreRefine: - type: string - format: uint64 - protectedStructIndex: - type: string - format: uint64 - typeCount: - type: string - format: uint64 - isMaterialized: - type: boolean - isBuilt: - type: boolean - isOnline: - type: boolean - isHidden: - type: boolean - isDestroyed: - type: boolean - isLocked: - type: boolean - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structDefenders: - type: array - items: - type: string - structs.structs.QueryGetStructTypeResponse: - type: object - properties: - StructType: - type: object - properties: - id: - type: string - format: uint64 - type: - type: string - description: TODO Deprecating... Will match with Class for now. - class: - type: string - title: New Struct Type Identity Details - classAbbreviation: - type: string - defaultCosmeticModelNumber: - type: string - defaultCosmeticName: - type: string - category: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - description: Planet or Fleet - title: Fundamental attributes - buildLimit: - type: string - format: uint64 - title: How many of this Struct Type a player can have - buildDifficulty: - type: string - format: uint64 - title: How much compute is needed to build - buildDraw: - type: string - format: uint64 - title: How much energy the Struct consumes during building - maxHealth: - type: string - format: uint64 - title: How much damage can it take - passiveDraw: - type: string - format: uint64 - title: How much energy the Struct consumes when active - possibleAmbit: - type: string - format: uint64 - description: >- - Where can it be built and moved to. Usually only a single ambit - but some Structs have multiple possible (i.e. Command Ship) - title: |- - Details about location and movement - TODO move category to here and make it flag based too - Replicate what was done for ambits flags - movable: - type: boolean - title: Can the Struct change ambit? - slotBound: - type: boolean - title: >- - Does the Struct occupy a slot. Trying to find something to help - set Command Ships apart - primaryWeapon: - title: Primary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - primaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - primaryWeaponCharge: - type: string - format: uint64 - primaryWeaponAmbits: - type: string - format: uint64 - primaryWeaponTargets: - type: string - format: uint64 - primaryWeaponShots: - type: string - format: uint64 - primaryWeaponDamage: - type: string - format: uint64 - primaryWeaponBlockable: - type: boolean - primaryWeaponCounterable: - type: boolean - primaryWeaponRecoilDamage: - type: string - format: uint64 - primaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - primaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - secondaryWeapon: - title: Secondary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - secondaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - secondaryWeaponCharge: - type: string - format: uint64 - secondaryWeaponAmbits: - type: string - format: uint64 - secondaryWeaponTargets: - type: string - format: uint64 - secondaryWeaponShots: - type: string - format: uint64 - secondaryWeaponDamage: - type: string - format: uint64 - secondaryWeaponBlockable: - type: boolean - secondaryWeaponCounterable: - type: boolean - secondaryWeaponRecoilDamage: - type: string - format: uint64 - secondaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - secondaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - passiveWeaponry: - title: Tech Tree Features - type: string - enum: - - noPassiveWeaponry - - counterAttack - - strongCounterAttack - - advancedCounterAttack - - lastResort - default: noPassiveWeaponry - unitDefenses: - type: string - enum: - - noUnitDefenses - - defensiveManeuver - - signalJamming - - armour - - indirectCombatModule - - stealthMode - - perimeterFencing - - reinforcedWalls - default: noUnitDefenses - oreReserveDefenses: - type: string - enum: - - noOreReserveDefenses - - coordinatedReserveResponseTracker - - rapidResponsePackage - - activeScanning - - monitoringStation - - oreBunker - default: noOreReserveDefenses - planetaryDefenses: - type: string - enum: - - noPlanetaryDefense - - defensiveCannon - - lowOrbitBallisticInterceptorNetwork - default: noPlanetaryDefense - title: >- - - lowOrbitBallisticInterceptorNetwork: - advancedLowOrbitBallisticInterceptorNetwork = 3; - - repairNetwork = 4; - - coordinatedGlobalShieldNetwork = 5; - - orbitalJammingStation = 6; - - advancedOrbitalJammingStation = 7; - planetaryMining: - type: string - enum: - - noPlanetaryMining - - oreMiningRig - default: noPlanetaryMining - planetaryRefinery: - type: string - enum: - - noPlanetaryRefinery - - oreRefinery - default: noPlanetaryRefinery - powerGeneration: - type: string - enum: - - noPowerGeneration - - smallGenerator - - mediumGenerator - - largeGenerator - default: noPowerGeneration - activateCharge: - type: string - format: uint64 - title: Charge uses - buildCharge: - type: string - format: uint64 - defendChangeCharge: - type: string - format: uint64 - moveCharge: - type: string - format: uint64 - oreMiningCharge: - type: string - format: uint64 - oreRefiningCharge: - type: string - format: uint64 - stealthActivateCharge: - type: string - format: uint64 - attackReduction: - type: string - format: uint64 - description: For Defensive Cannon - title: Tech Tree Attributes - attackCounterable: - type: boolean - title: For Indirect Combat Module - stealthSystems: - type: boolean - title: For Stealth Mode - counterAttack: - type: string - format: uint64 - title: Counter - counterAttackSameAmbit: - type: string - format: uint64 - title: Advanced Counter - postDestructionDamage: - type: string - format: uint64 - generatingRate: - type: string - format: uint64 - title: Power Generation - planetaryShieldContribution: - type: string - format: uint64 - title: The shield that is added to the Planet - oreMiningDifficulty: - type: string - format: uint64 - oreRefiningDifficulty: - type: string - format: uint64 - unguidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - unguidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - guidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - guidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - triggerRaidDefeatByDestruction: - type: boolean - description: |- - I wish this was higher up in a different area of the definition - but I really don't feel like renumbering this entire thing again. - structs.structs.QueryGetSubstationResponse: - type: object - properties: - Substation: - type: object - properties: - id: - type: string - owner: - type: string - creator: - type: string - gridAttributes: - type: object - properties: - ore: - type: string - format: uint64 - fuel: - type: string - format: uint64 - capacity: - type: string - format: uint64 - load: - type: string - format: uint64 - structsLoad: - type: string - format: uint64 - power: - type: string - format: uint64 - connectionCapacity: - type: string - format: uint64 - connectionCount: - type: string - format: uint64 - allocationPointerStart: - type: string - format: uint64 - allocationPointerEnd: - type: string - format: uint64 - proxyNonce: - type: string - format: uint64 - lastAction: - type: string - format: uint64 - nonce: - type: string - format: uint64 - ready: - type: string - format: uint64 - checkpointBlock: - type: string - format: uint64 - structs.structs.QueryParamsResponse: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - description: QueryParamsResponse is response type for the Query/Params RPC method. - structs.structs.QueryValidateSignatureResponse: - type: object - properties: - pubkeyFormatError: - type: boolean - signatureFormatError: - type: boolean - addressPubkeyMismatch: - type: boolean - signatureInvalid: - type: boolean - valid: - type: boolean - structs.structs.Reactor: - type: object - properties: - id: - type: string - validator: - type: string - guildId: - type: string - defaultCommission: - type: string - rawAddress: - type: string - format: byte - structs.structs.Struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structs.structs.StructAttributeRecord: - type: object - properties: - attributeId: - type: string - value: - type: string - format: uint64 - structs.structs.StructAttributes: - type: object - properties: - health: - type: string - format: uint64 - status: - type: string - format: uint64 - blockStartBuild: - type: string - format: uint64 - blockStartOreMine: - type: string - format: uint64 - blockStartOreRefine: - type: string - format: uint64 - protectedStructIndex: - type: string - format: uint64 - typeCount: - type: string - format: uint64 - isMaterialized: - type: boolean - isBuilt: - type: boolean - isOnline: - type: boolean - isHidden: - type: boolean - isDestroyed: - type: boolean - isLocked: - type: boolean - structs.structs.StructType: - type: object - properties: - id: - type: string - format: uint64 - type: - type: string - description: TODO Deprecating... Will match with Class for now. - class: - type: string - title: New Struct Type Identity Details - classAbbreviation: - type: string - defaultCosmeticModelNumber: - type: string - defaultCosmeticName: - type: string - category: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - description: Planet or Fleet - title: Fundamental attributes - buildLimit: - type: string - format: uint64 - title: How many of this Struct Type a player can have - buildDifficulty: - type: string - format: uint64 - title: How much compute is needed to build - buildDraw: - type: string - format: uint64 - title: How much energy the Struct consumes during building - maxHealth: - type: string - format: uint64 - title: How much damage can it take - passiveDraw: - type: string - format: uint64 - title: How much energy the Struct consumes when active - possibleAmbit: - type: string - format: uint64 - description: >- - Where can it be built and moved to. Usually only a single ambit but - some Structs have multiple possible (i.e. Command Ship) - title: |- - Details about location and movement - TODO move category to here and make it flag based too - Replicate what was done for ambits flags - movable: - type: boolean - title: Can the Struct change ambit? - slotBound: - type: boolean - title: >- - Does the Struct occupy a slot. Trying to find something to help set - Command Ships apart - primaryWeapon: - title: Primary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - primaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - primaryWeaponCharge: - type: string - format: uint64 - primaryWeaponAmbits: - type: string - format: uint64 - primaryWeaponTargets: - type: string - format: uint64 - primaryWeaponShots: - type: string - format: uint64 - primaryWeaponDamage: - type: string - format: uint64 - primaryWeaponBlockable: - type: boolean - primaryWeaponCounterable: - type: boolean - primaryWeaponRecoilDamage: - type: string - format: uint64 - primaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - primaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - secondaryWeapon: - title: Secondary Weapon Configuration - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - secondaryWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - secondaryWeaponCharge: - type: string - format: uint64 - secondaryWeaponAmbits: - type: string - format: uint64 - secondaryWeaponTargets: - type: string - format: uint64 - secondaryWeaponShots: - type: string - format: uint64 - secondaryWeaponDamage: - type: string - format: uint64 - secondaryWeaponBlockable: - type: boolean - secondaryWeaponCounterable: - type: boolean - secondaryWeaponRecoilDamage: - type: string - format: uint64 - secondaryWeaponShotSuccessRateNumerator: - type: string - format: uint64 - secondaryWeaponShotSuccessRateDenominator: - type: string - format: uint64 - passiveWeaponry: - title: Tech Tree Features - type: string - enum: - - noPassiveWeaponry - - counterAttack - - strongCounterAttack - - advancedCounterAttack - - lastResort - default: noPassiveWeaponry - unitDefenses: - type: string - enum: - - noUnitDefenses - - defensiveManeuver - - signalJamming - - armour - - indirectCombatModule - - stealthMode - - perimeterFencing - - reinforcedWalls - default: noUnitDefenses - oreReserveDefenses: - type: string - enum: - - noOreReserveDefenses - - coordinatedReserveResponseTracker - - rapidResponsePackage - - activeScanning - - monitoringStation - - oreBunker - default: noOreReserveDefenses - planetaryDefenses: - type: string - enum: - - noPlanetaryDefense - - defensiveCannon - - lowOrbitBallisticInterceptorNetwork - default: noPlanetaryDefense - title: >- - - lowOrbitBallisticInterceptorNetwork: - advancedLowOrbitBallisticInterceptorNetwork = 3; - - repairNetwork = 4; - - coordinatedGlobalShieldNetwork = 5; - - orbitalJammingStation = 6; - - advancedOrbitalJammingStation = 7; - planetaryMining: - type: string - enum: - - noPlanetaryMining - - oreMiningRig - default: noPlanetaryMining - planetaryRefinery: - type: string - enum: - - noPlanetaryRefinery - - oreRefinery - default: noPlanetaryRefinery - powerGeneration: - type: string - enum: - - noPowerGeneration - - smallGenerator - - mediumGenerator - - largeGenerator - default: noPowerGeneration - activateCharge: - type: string - format: uint64 - title: Charge uses - buildCharge: - type: string - format: uint64 - defendChangeCharge: - type: string - format: uint64 - moveCharge: - type: string - format: uint64 - oreMiningCharge: - type: string - format: uint64 - oreRefiningCharge: - type: string - format: uint64 - stealthActivateCharge: - type: string - format: uint64 - attackReduction: - type: string - format: uint64 - description: For Defensive Cannon - title: Tech Tree Attributes - attackCounterable: - type: boolean - title: For Indirect Combat Module - stealthSystems: - type: boolean - title: For Stealth Mode - counterAttack: - type: string - format: uint64 - title: Counter - counterAttackSameAmbit: - type: string - format: uint64 - title: Advanced Counter - postDestructionDamage: - type: string - format: uint64 - generatingRate: - type: string - format: uint64 - title: Power Generation - planetaryShieldContribution: - type: string - format: uint64 - title: The shield that is added to the Planet - oreMiningDifficulty: - type: string - format: uint64 - oreRefiningDifficulty: - type: string - format: uint64 - unguidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - unguidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - guidedDefensiveSuccessRateNumerator: - type: string - format: uint64 - guidedDefensiveSuccessRateDenominator: - type: string - format: uint64 - triggerRaidDefeatByDestruction: - type: boolean - description: |- - I wish this was higher up in a different area of the definition - but I really don't feel like renumbering this entire thing again. - structs.structs.Substation: - type: object - properties: - id: - type: string - owner: - type: string - creator: - type: string - structs.structs.allocationType: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - structs.structs.ambit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - structs.structs.fleetStatus: - type: string - enum: - - onStation - - away - default: onStation - structs.structs.guildJoinBypassLevel: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - structs.structs.guildJoinType: - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - structs.structs.objectType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - structs.structs.planetStatus: - type: string - enum: - - active - - complete - default: active - structs.structs.providerAccessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - structs.structs.registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - structs.structs.techActiveWeaponry: - type: string - enum: - - noActiveWeaponry - - guidedWeaponry - - unguidedWeaponry - - attackRun - - selfDestruct - default: noActiveWeaponry - structs.structs.techOreReserveDefenses: - type: string - enum: - - noOreReserveDefenses - - coordinatedReserveResponseTracker - - rapidResponsePackage - - activeScanning - - monitoringStation - - oreBunker - default: noOreReserveDefenses - structs.structs.techPassiveWeaponry: - type: string - enum: - - noPassiveWeaponry - - counterAttack - - strongCounterAttack - - advancedCounterAttack - - lastResort - default: noPassiveWeaponry - structs.structs.techPlanetaryDefenses: - type: string - enum: - - noPlanetaryDefense - - defensiveCannon - - lowOrbitBallisticInterceptorNetwork - default: noPlanetaryDefense - title: >- - - lowOrbitBallisticInterceptorNetwork: - advancedLowOrbitBallisticInterceptorNetwork = 3; - - repairNetwork = 4; - - coordinatedGlobalShieldNetwork = 5; - - orbitalJammingStation = 6; - - advancedOrbitalJammingStation = 7; - structs.structs.techPlanetaryMining: - type: string - enum: - - noPlanetaryMining - - oreMiningRig - default: noPlanetaryMining - structs.structs.techPlanetaryRefineries: - type: string - enum: - - noPlanetaryRefinery - - oreRefinery - default: noPlanetaryRefinery - structs.structs.techPowerGeneration: - type: string - enum: - - noPowerGeneration - - smallGenerator - - mediumGenerator - - largeGenerator - default: noPowerGeneration - structs.structs.techUnitDefenses: - type: string - enum: - - noUnitDefenses - - defensiveManeuver - - signalJamming - - armour - - indirectCombatModule - - stealthMode - - perimeterFencing - - reinforcedWalls - default: noUnitDefenses - structs.structs.techWeaponControl: - type: string - enum: - - noWeaponControl - - guided - - unguided - default: noWeaponControl - structs.structs.MsgAddressRegister: - type: object - properties: - creator: - type: string - playerId: - type: string - address: - type: string - proofPubKey: - type: string - proofSignature: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgAddressRegisterResponse: - type: object - structs.structs.MsgAddressRevoke: - type: object - properties: - creator: - type: string - address: - type: string - structs.structs.MsgAddressRevokeResponse: - type: object - structs.structs.MsgAgreementCapacityDecrease: - type: object - properties: - creator: - type: string - agreementId: - type: string - capacityDecrease: - type: string - format: uint64 - structs.structs.MsgAgreementCapacityIncrease: - type: object - properties: - creator: - type: string - agreementId: - type: string - capacityIncrease: - type: string - format: uint64 - structs.structs.MsgAgreementClose: - type: object - properties: - creator: - type: string - agreementId: - type: string - structs.structs.MsgAgreementDurationIncrease: - type: object - properties: - creator: - type: string - agreementId: - type: string - durationIncrease: - type: string - format: uint64 - structs.structs.MsgAgreementOpen: - type: object - properties: - creator: - type: string - providerId: - type: string - duration: - type: string - format: uint64 - capacity: - type: string - format: uint64 - structs.structs.MsgAgreementResponse: - type: object - structs.structs.MsgAllocationCreate: - type: object - properties: - creator: - type: string - controller: - type: string - sourceObjectId: - type: string - allocationType: - type: string - enum: - - static - - dynamic - - automated - - providerAgreement - default: static - power: - type: string - format: uint64 - structs.structs.MsgAllocationCreateResponse: - type: object - properties: - allocationId: - type: string - structs.structs.MsgAllocationDelete: - type: object - properties: - creator: - type: string - allocationId: - type: string - structs.structs.MsgAllocationDeleteResponse: - type: object - properties: - allocationId: - type: string - structs.structs.MsgAllocationTransfer: - type: object - properties: - creator: - type: string - allocationId: - type: string - controller: - type: string - structs.structs.MsgAllocationTransferResponse: - type: object - properties: - allocationId: - type: string - structs.structs.MsgAllocationUpdate: - type: object - properties: - creator: - type: string - allocationId: - type: string - power: - type: string - format: uint64 - structs.structs.MsgAllocationUpdateResponse: - type: object - properties: - allocationId: - type: string - structs.structs.MsgFleetMove: - type: object - properties: - creator: - type: string - fleetId: - type: string - destinationLocationId: - type: string - structs.structs.MsgFleetMoveResponse: - type: object - properties: - fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - structs.structs.MsgGuildBankConfiscateAndBurn: - type: object - properties: - creator: - type: string - address: - type: string - amountToken: - type: string - format: uint64 - structs.structs.MsgGuildBankConfiscateAndBurnResponse: - type: object - structs.structs.MsgGuildBankMint: - type: object - properties: - creator: - type: string - amountAlpha: - type: string - format: uint64 - amountToken: - type: string - format: uint64 - structs.structs.MsgGuildBankMintResponse: - type: object - structs.structs.MsgGuildBankRedeem: - type: object - properties: - creator: - type: string - amountToken: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - structs.structs.MsgGuildBankRedeemResponse: - type: object - structs.structs.MsgGuildCreate: - type: object - properties: - creator: - type: string - endpoint: - type: string - entrySubstationId: - type: string - structs.structs.MsgGuildCreateResponse: - type: object - properties: - guildId: - type: string - structs.structs.MsgGuildMembershipInvite: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - structs.structs.MsgGuildMembershipInviteApprove: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - structs.structs.MsgGuildMembershipInviteDeny: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - structs.structs.MsgGuildMembershipInviteRevoke: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - structs.structs.MsgGuildMembershipJoin: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - infusionId: - type: array - items: - type: string - structs.structs.MsgGuildMembershipJoinProxy: - type: object - properties: - creator: - type: string - address: - type: string - substationId: - type: string - proofPubKey: - type: string - proofSignature: - type: string - structs.structs.MsgGuildMembershipKick: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - structs.structs.MsgGuildMembershipRequest: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - structs.structs.MsgGuildMembershipRequestApprove: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - substationId: - type: string - structs.structs.MsgGuildMembershipRequestDeny: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - structs.structs.MsgGuildMembershipRequestRevoke: - type: object - properties: - creator: - type: string - guildId: - type: string - playerId: - type: string - structs.structs.MsgGuildMembershipResponse: - type: object - properties: - guildMembershipApplication: - type: object - properties: - guildId: - type: string - playerId: - type: string - joinType: - title: Invite | Request - type: string - enum: - - invite - - request - - direct - - proxy - default: invite - registrationStatus: - type: string - enum: - - proposed - - approved - - denied - - revoked - default: proposed - proposer: - type: string - substationId: - type: string - structs.structs.MsgGuildUpdateEndpoint: - type: object - properties: - creator: - type: string - guildId: - type: string - endpoint: - type: string - structs.structs.MsgGuildUpdateEntrySubstationId: - type: object - properties: - creator: - type: string - guildId: - type: string - entrySubstationId: - type: string - structs.structs.MsgGuildUpdateJoinInfusionMinimum: - type: object - properties: - creator: - type: string - guildId: - type: string - joinInfusionMinimum: - type: string - format: uint64 - structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite: - type: object - properties: - creator: - type: string - guildId: - type: string - guildJoinBypassLevel: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest: - type: object - properties: - creator: - type: string - guildId: - type: string - guildJoinBypassLevel: - type: string - enum: - - closed - - permissioned - - member - default: closed - title: |- - - closed: Feature off - - permissioned: Only those with permissions can do it - - member: All members of the guild can contribute - structs.structs.MsgGuildUpdateOwnerId: - type: object - properties: - creator: - type: string - guildId: - type: string - owner: - type: string - structs.structs.MsgGuildUpdateResponse: - type: object - structs.structs.MsgPermissionGrantOnAddress: - type: object - properties: - creator: - type: string - address: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgPermissionGrantOnObject: - type: object - properties: - creator: - type: string - objectId: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgPermissionResponse: - type: object - structs.structs.MsgPermissionRevokeOnAddress: - type: object - properties: - creator: - type: string - address: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgPermissionRevokeOnObject: - type: object - properties: - creator: - type: string - objectId: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgPermissionSetOnAddress: - type: object - properties: - creator: - type: string - address: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgPermissionSetOnObject: - type: object - properties: - creator: - type: string - objectId: - type: string - playerId: - type: string - permissions: - type: string - format: uint64 - structs.structs.MsgPlanetExplore: - type: object - properties: - creator: - type: string - playerId: - type: string - structs.structs.MsgPlanetExploreResponse: - type: object - properties: - planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - structs.structs.MsgPlanetRaidComplete: - type: object - properties: - creator: - type: string - fleetId: - type: string - proof: - type: string - nonce: - type: string - structs.structs.MsgPlanetRaidCompleteResponse: - type: object - properties: - fleet: - type: object - properties: - id: - type: string - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - locationId: - type: string - status: - type: string - enum: - - onStation - - away - default: onStation - locationListForward: - type: string - title: Towards Planet - locationListBackward: - type: string - title: Towards End of List - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - commandStruct: - type: string - planet: - type: object - properties: - id: - type: string - maxOre: - type: string - format: uint64 - creator: - type: string - owner: - type: string - space: - type: array - items: - type: string - air: - type: array - items: - type: string - land: - type: array - items: - type: string - water: - type: array - items: - type: string - spaceSlots: - type: string - format: uint64 - airSlots: - type: string - format: uint64 - landSlots: - type: string - format: uint64 - waterSlots: - type: string - format: uint64 - status: - type: string - enum: - - active - - complete - default: active - locationListStart: - type: string - title: First in line to battle planet - locationListLast: - type: string - title: End of the line - oreStolen: - type: string - format: uint64 - structs.structs.MsgPlayerResume: - type: object - properties: - creator: - type: string - playerId: - type: string - structs.structs.MsgPlayerResumeResponse: - type: object - structs.structs.MsgPlayerUpdatePrimaryAddress: - type: object - properties: - creator: - type: string - playerId: - type: string - primaryAddress: - type: string - structs.structs.MsgPlayerUpdatePrimaryAddressResponse: - type: object - structs.structs.MsgProviderCreate: - type: object - properties: - creator: - type: string - substationId: - type: string - rate: - type: object - properties: - denom: - type: string - amount: - type: string - description: |- - Coin defines a token with a denomination and an amount. - - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - providerCancellationPenalty: - type: string - consumerCancellationPenalty: - type: string - capacityMinimum: - type: string - format: uint64 - capacityMaximum: - type: string - format: uint64 - durationMinimum: - type: string - format: uint64 - durationMaximum: - type: string - format: uint64 - structs.structs.MsgProviderDelete: - type: object - properties: - creator: - type: string - providerId: - type: string - structs.structs.MsgProviderGuildGrant: - type: object - properties: - creator: - type: string - providerId: - type: string - guildId: - type: array - items: - type: string - structs.structs.MsgProviderGuildRevoke: - type: object - properties: - creator: - type: string - providerId: - type: string - guildId: - type: array - items: - type: string - structs.structs.MsgProviderResponse: - type: object - structs.structs.MsgProviderUpdateAccessPolicy: - type: object - properties: - creator: - type: string - providerId: - type: string - accessPolicy: - type: string - enum: - - openMarket - - guildMarket - - closedMarket - default: openMarket - structs.structs.MsgProviderUpdateCapacityMaximum: - type: object - properties: - creator: - type: string - providerId: - type: string - newMaximumCapacity: - type: string - format: uint64 - structs.structs.MsgProviderUpdateCapacityMinimum: - type: object - properties: - creator: - type: string - providerId: - type: string - newMinimumCapacity: - type: string - format: uint64 - structs.structs.MsgProviderUpdateDurationMaximum: - type: object - properties: - creator: - type: string - providerId: - type: string - newMaximumDuration: - type: string - format: uint64 - structs.structs.MsgProviderUpdateDurationMinimum: - type: object - properties: - creator: - type: string - providerId: - type: string - newMinimumDuration: - type: string - format: uint64 - structs.structs.MsgProviderWithdrawBalance: - type: object - properties: - creator: - type: string - providerId: - type: string - destinationAddress: - type: string - structs.structs.MsgStructActivate: - type: object - properties: - creator: - type: string - structId: - type: string - structs.structs.MsgStructAttack: - type: object - properties: - creator: - type: string - operatingStructId: - type: string - targetStructId: - type: array - items: - type: string - weaponSystem: - type: string - structs.structs.MsgStructAttackResponse: - type: object - structs.structs.MsgStructBuildCancel: - type: object - properties: - creator: - type: string - structId: - type: string - structs.structs.MsgStructBuildComplete: - type: object - properties: - creator: - type: string - structId: - type: string - proof: - type: string - nonce: - type: string - structs.structs.MsgStructBuildInitiate: - type: object - properties: - creator: - type: string - playerId: - type: string - structTypeId: - type: string - format: uint64 - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - title: objectType locationType = 4; - slot: - type: string - format: uint64 - structs.structs.MsgStructDeactivate: - type: object - properties: - creator: - type: string - structId: - type: string - structs.structs.MsgStructDefenseClear: - type: object - properties: - creator: - type: string - defenderStructId: - type: string - structs.structs.MsgStructDefenseSet: - type: object - properties: - creator: - type: string - defenderStructId: - type: string - protectedStructId: - type: string - structs.structs.MsgStructGeneratorInfuse: - type: object - properties: - creator: - type: string - structId: - type: string - infuseAmount: - type: string - structs.structs.MsgStructGeneratorStatusResponse: - type: object - structs.structs.MsgStructMove: - type: object - properties: - creator: - type: string - structId: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - ambit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structs.structs.MsgStructOreMinerComplete: - type: object - properties: - creator: - type: string - structId: - type: string - proof: - type: string - nonce: - type: string - structs.structs.MsgStructOreMinerStatusResponse: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structs.structs.MsgStructOreRefineryComplete: - type: object - properties: - creator: - type: string - structId: - type: string - proof: - type: string - nonce: - type: string - structs.structs.MsgStructOreRefineryStatusResponse: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structs.structs.MsgStructStatusResponse: - type: object - properties: - struct: - type: object - properties: - id: - type: string - title: What it is - index: - type: string - format: uint64 - type: - type: string - format: uint64 - creator: - type: string - title: Who is it - owner: - type: string - locationType: - type: string - enum: - - guild - - player - - planet - - reactor - - substation - - struct - - allocation - - infusion - - address - - fleet - - provider - - agreement - default: guild - title: Where it is - locationId: - type: string - operatingAmbit: - type: string - enum: - - none - - water - - land - - air - - space - - local - default: none - slot: - type: string - format: uint64 - structs.structs.MsgStructStealthActivate: - type: object - properties: - creator: - type: string - structId: - type: string - structs.structs.MsgStructStealthDeactivate: - type: object - properties: - creator: - type: string - structId: - type: string - structs.structs.MsgSubstationAllocationConnect: - type: object - properties: - creator: - type: string - allocationId: - type: string - destinationId: - type: string - structs.structs.MsgSubstationAllocationConnectResponse: - type: object - structs.structs.MsgSubstationAllocationDisconnect: - type: object - properties: - creator: - type: string - allocationId: - type: string - structs.structs.MsgSubstationAllocationDisconnectResponse: - type: object - structs.structs.MsgSubstationCreate: - type: object - properties: - creator: - type: string - owner: - type: string - allocationId: - type: string - structs.structs.MsgSubstationCreateResponse: - type: object - properties: - substationId: - type: string - structs.structs.MsgSubstationDelete: - type: object - properties: - creator: - type: string - substationId: - type: string - migrationSubstationId: - type: string - structs.structs.MsgSubstationDeleteResponse: - type: object - structs.structs.MsgSubstationPlayerConnect: - type: object - properties: - creator: - type: string - substationId: - type: string - playerId: - type: string - structs.structs.MsgSubstationPlayerConnectResponse: - type: object - structs.structs.MsgSubstationPlayerDisconnect: - type: object - properties: - creator: - type: string - playerId: - type: string - structs.structs.MsgSubstationPlayerDisconnectResponse: - type: object - structs.structs.MsgSubstationPlayerMigrate: - type: object - properties: - creator: - type: string - substationId: - type: string - playerId: - type: array - items: - type: string - structs.structs.MsgSubstationPlayerMigrateResponse: - type: object - structs.structs.MsgUpdateParams: - type: object - properties: - authority: - type: string - description: >- - authority is the address that controls the module (defaults to x/gov - unless overwritten). - params: - description: |- - params defines the module parameters to update. - - NOTE: All parameters must be supplied. - type: object - description: MsgUpdateParams is the Msg/UpdateParams request type. - structs.structs.MsgUpdateParamsResponse: - type: object - description: |- - MsgUpdateParamsResponse defines the response structure for executing a - MsgUpdateParams message. +{"id":"structs","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain structs REST API","title":"HTTP API Console","contact":{"name":"structs"},"version":"version not set"},"paths":{"/blockheight":{"get":{"tags":["Query"],"operationId":"StructsQuery_GetBlockHeight","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryBlockHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AddressRegister":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AddressRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAddressRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAddressRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AddressRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AddressRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAddressRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAddressRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementCapacityDecrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementCapacityDecrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementCapacityDecrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementCapacityIncrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementCapacityIncrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementCapacityIncrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementClose":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementDurationIncrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementDurationIncrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementDurationIncrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementOpen":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationDeleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationTransfer":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationUpdate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationUpdate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationUpdate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/FleetMove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_FleetMove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgFleetMove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgFleetMoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankConfiscateAndBurn":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankConfiscateAndBurn","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankConfiscateAndBurn"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankConfiscateAndBurnResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankMint":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankMint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankMint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankMintResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankRedeem":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankRedeem","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankRedeem"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankRedeemResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInvite":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteApprove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteApprove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteApprove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteDeny":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteDeny","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteDeny"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipJoin":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipJoin","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipJoin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipJoinProxy":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipJoinProxy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipJoinProxy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipKick":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipKick","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipKick"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequest":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequest","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestApprove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestApprove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestApprove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestDeny":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestDeny","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestDeny"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateEndpoint":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateEndpoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateEndpoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateEntrySubstationId":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateEntrySubstationId","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateEntrySubstationId"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByInvite":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimumBypassByInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByRequest":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimumBypassByRequest","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateOwnerId":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateOwnerId","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateOwnerId"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionGrantOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionGrantOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionGrantOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionGrantOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionGrantOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionGrantOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionRevokeOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionRevokeOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionRevokeOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionRevokeOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionRevokeOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionRevokeOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionSetOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionSetOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionSetOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionSetOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionSetOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionSetOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlanetExplore":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlanetExplore","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlanetExplore"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlanetExploreResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlanetRaidComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlanetRaidComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlanetRaidComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlanetRaidCompleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlayerResume":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlayerResume","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlayerResume"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlayerResumeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlayerUpdatePrimaryAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlayerUpdatePrimaryAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlayerUpdatePrimaryAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlayerUpdatePrimaryAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderGuildGrant":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderGuildGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderGuildGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderGuildRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderGuildRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderGuildRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateAccessPolicy":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateAccessPolicy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateAccessPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateCapacityMaximum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateCapacityMaximum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateCapacityMaximum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateCapacityMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateCapacityMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateCapacityMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateDurationMaximum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateDurationMaximum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateDurationMaximum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateDurationMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateDurationMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateDurationMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderWithdrawBalance":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderWithdrawBalance","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderWithdrawBalance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructActivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructAttack":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructAttack","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructAttack"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructAttackResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildCancel":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildInitiate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildInitiate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildInitiate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDeactivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDeactivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDeactivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDefenseClear":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDefenseClear","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDefenseClear"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDefenseSet":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDefenseSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDefenseSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructGeneratorInfuse":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructGeneratorInfuse","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructGeneratorInfuse"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructGeneratorStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructMove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructMove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructMove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructOreMinerComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructOreMinerComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructOreMinerComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructOreMinerStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructOreRefineryComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructOreRefineryComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructOreRefineryComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructOreRefineryStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructStealthActivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructStealthActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructStealthActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructStealthDeactivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructStealthDeactivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructStealthDeactivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationAllocationConnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationAllocationConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationAllocationDisconnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationAllocationDisconnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationDisconnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationDisconnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationDeleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerConnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerDisconnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerDisconnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerDisconnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerDisconnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerMigrate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerMigrate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerMigrate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerMigrateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"StructsMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address":{"get":{"tags":["Query"],"operationId":"StructsQuery_AddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address/{address}":{"get":{"tags":["Query"],"summary":"Queries for Addresses.","operationId":"StructsQuery_Address","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address_by_player/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AddressAllByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement":{"get":{"tags":["Query"],"operationId":"StructsQuery_AgreementAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Agreement items.","operationId":"StructsQuery_Agreement","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement_by_provider/{providerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AgreementAllByProvider","parameters":[{"type":"string","name":"providerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Allocation items.","operationId":"StructsQuery_Allocation","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation_by_destination/{destinationId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAllByDestination","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation_by_source/{sourceId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAllBySource","parameters":[{"type":"string","name":"sourceId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet":{"get":{"tags":["Query"],"operationId":"StructsQuery_FleetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Fleet items.","operationId":"StructsQuery_Fleet","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet_by_index/{index}":{"get":{"tags":["Query"],"operationId":"StructsQuery_FleetByIndex","parameters":[{"type":"string","format":"uint64","name":"index","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/grid":{"get":{"tags":["Query"],"summary":"Queries a list of all Grid details","operationId":"StructsQuery_GridAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGridResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/grid/{attributeId}":{"get":{"tags":["Query"],"summary":"Queries a specific Grid details","operationId":"StructsQuery_Grid","parameters":[{"type":"string","name":"attributeId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGridResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Guild items.","operationId":"StructsQuery_Guild","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGuildResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_bank_collateral_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildBankCollateralAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildBankCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_bank_collateral_address/{guildId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildBankCollateralAddress","parameters":[{"type":"string","name":"guildId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildBankCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_membership_application":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildMembershipApplicationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildMembershipApplicationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_membership_application/{guildId}/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildMembershipApplication","parameters":[{"type":"string","name":"guildId","in":"path","required":true},{"type":"string","name":"playerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGuildMembershipApplicationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion":{"get":{"tags":["Query"],"operationId":"StructsQuery_InfusionAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion/{destinationId}/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of Infusions.","operationId":"StructsQuery_Infusion","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion_by_destination/{destinationId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_InfusionAllByDestination","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission":{"get":{"tags":["Query"],"summary":"Queries a list of all Permissions","operationId":"StructsQuery_PermissionAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/object/{objectId}":{"get":{"tags":["Query"],"summary":"Queries a list of Permissions based on Object","operationId":"StructsQuery_PermissionByObject","parameters":[{"type":"string","name":"objectId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/player/{playerId}":{"get":{"tags":["Query"],"summary":"Queries a list of Permissions based on the Player with the permissions","operationId":"StructsQuery_PermissionByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/{permissionId}":{"get":{"tags":["Query"],"summary":"Queries a specific Permission","operationId":"StructsQuery_Permission","parameters":[{"type":"string","name":"permissionId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Planet items.","operationId":"StructsQuery_Planet","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_attribute":{"get":{"tags":["Query"],"summary":"Queries a list of all Planet Attributes","operationId":"StructsQuery_PlanetAttributeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_attribute/{planetId}/{attributeType}":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAttribute","parameters":[{"type":"string","name":"planetId","in":"path","required":true},{"type":"string","name":"attributeType","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlanetAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_by_player/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAllByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlayerAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlayerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Player items.","operationId":"StructsQuery_Player","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlayerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player_halted":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlayerHaltedAll","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlayerHaltedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Allocation items.","operationId":"StructsQuery_Provider","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_collateral_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderCollateralAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_collateral_address/{providerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderCollateralAddress","parameters":[{"type":"string","name":"providerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_earnings_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderEarningsAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderEarningsAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_earnings_address/{providerId}":{"get":{"tags":["Query"],"summary":"TODO Requires a lookup table that I don't know if we care about\nrpc ProviderByCollateralAddress (QueryGetProviderByCollateralAddressRequest) returns (QueryGetProviderResponse) {\noption (google.api.http).get = \"/structs/provider_by_collateral_address/{address}\";\n}","operationId":"StructsQuery_ProviderEarningsAddress","parameters":[{"type":"string","name":"providerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderEarningsAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/reactor":{"get":{"tags":["Query"],"operationId":"StructsQuery_ReactorAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllReactorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/reactor/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Reactor items.","operationId":"StructsQuery_Reactor","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetReactorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Structs items.","operationId":"StructsQuery_Struct","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_attribute":{"get":{"tags":["Query"],"summary":"Queries a list of all Struct Attributes","operationId":"StructsQuery_StructAttributeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_attribute/{structId}/{attributeType}":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructAttribute","parameters":[{"type":"string","name":"structId","in":"path","required":true},{"type":"string","name":"attributeType","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_type":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructTypeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructTypeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_type/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Struct Types items.","operationId":"StructsQuery_StructType","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructTypeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/structs/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"StructsQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/substation":{"get":{"tags":["Query"],"operationId":"StructsQuery_SubstationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllSubstationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/substation/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Substation items.","operationId":"StructsQuery_Substation","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetSubstationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/validate_signature/{address}/{proofPubKey}/{proofSignature}/{message}":{"get":{"tags":["Query"],"operationId":"StructsQuery_ValidateSignature","parameters":[{"type":"string","name":"address","in":"path","required":true},{"type":"string","name":"proofPubKey","in":"path","required":true},{"type":"string","name":"proofSignature","in":"path","required":true},{"type":"string","name":"message","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryValidateSignatureResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"structs.structs.Agreement":{"type":"object","properties":{"allocationId":{"type":"string"},"capacity":{"type":"string","format":"uint64"},"creator":{"type":"string"},"endBlock":{"type":"string","format":"uint64"},"id":{"type":"string"},"owner":{"type":"string"},"providerId":{"type":"string"},"startBlock":{"type":"string","format":"uint64"}}},"structs.structs.Allocation":{"type":"object","properties":{"controller":{"type":"string"},"creator":{"type":"string","title":"Who does this currently belong to"},"destinationId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"locked":{"type":"boolean","title":"Locking will be needed for IBC"},"sourceObjectId":{"type":"string","title":"Core allocation details"},"type":{"$ref":"#/definitions/structs.structs.allocationType"}}},"structs.structs.Fleet":{"type":"object","properties":{"air":{"type":"array","items":{"type":"string"}},"airSlots":{"type":"string","format":"uint64"},"commandStruct":{"type":"string"},"id":{"type":"string"},"land":{"type":"array","items":{"type":"string"}},"landSlots":{"type":"string","format":"uint64"},"locationId":{"type":"string"},"locationListBackward":{"type":"string","title":"Towards End of List"},"locationListForward":{"type":"string","title":"Towards Planet"},"locationType":{"$ref":"#/definitions/structs.structs.objectType"},"owner":{"type":"string"},"space":{"type":"array","items":{"type":"string"}},"spaceSlots":{"type":"string","format":"uint64"},"status":{"$ref":"#/definitions/structs.structs.fleetStatus"},"water":{"type":"array","items":{"type":"string"}},"waterSlots":{"type":"string","format":"uint64"}}},"structs.structs.GridAttributes":{"type":"object","properties":{"allocationPointerEnd":{"type":"string","format":"uint64"},"allocationPointerStart":{"type":"string","format":"uint64"},"capacity":{"type":"string","format":"uint64"},"checkpointBlock":{"type":"string","format":"uint64"},"connectionCapacity":{"type":"string","format":"uint64"},"connectionCount":{"type":"string","format":"uint64"},"fuel":{"type":"string","format":"uint64"},"lastAction":{"type":"string","format":"uint64"},"load":{"type":"string","format":"uint64"},"nonce":{"type":"string","format":"uint64"},"ore":{"type":"string","format":"uint64"},"power":{"type":"string","format":"uint64"},"proxyNonce":{"type":"string","format":"uint64"},"ready":{"type":"string","format":"uint64"},"structsLoad":{"type":"string","format":"uint64"}}},"structs.structs.GridRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.Guild":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"entrySubstationId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"joinInfusionMinimum":{"type":"string","format":"uint64"},"joinInfusionMinimumBypassByInvite":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"},"joinInfusionMinimumBypassByRequest":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"},"owner":{"type":"string"},"primaryReactorId":{"type":"string"}}},"structs.structs.GuildMembershipApplication":{"type":"object","properties":{"guildId":{"type":"string"},"joinType":{"title":"Invite | Request","$ref":"#/definitions/structs.structs.guildJoinType"},"playerId":{"type":"string"},"proposer":{"type":"string"},"registrationStatus":{"$ref":"#/definitions/structs.structs.registrationStatus"},"substationId":{"type":"string"}}},"structs.structs.Infusion":{"type":"object","properties":{"address":{"type":"string"},"commission":{"type":"string"},"defusing":{"type":"string"},"destinationId":{"type":"string"},"destinationType":{"$ref":"#/definitions/structs.structs.objectType"},"fuel":{"type":"string","format":"uint64"},"playerId":{"type":"string"},"power":{"type":"string","format":"uint64"},"ratio":{"type":"string","format":"uint64"}}},"structs.structs.InternalAddressAssociation":{"type":"object","properties":{"address":{"type":"string"},"objectId":{"type":"string"}}},"structs.structs.MsgAddressRegister":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"},"proofPubKey":{"type":"string"},"proofSignature":{"type":"string"}}},"structs.structs.MsgAddressRegisterResponse":{"type":"object"},"structs.structs.MsgAddressRevoke":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAddressRevokeResponse":{"type":"object"},"structs.structs.MsgAgreementCapacityDecrease":{"type":"object","properties":{"agreementId":{"type":"string"},"capacityDecrease":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementCapacityIncrease":{"type":"object","properties":{"agreementId":{"type":"string"},"capacityIncrease":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementClose":{"type":"object","properties":{"agreementId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementDurationIncrease":{"type":"object","properties":{"agreementId":{"type":"string"},"creator":{"type":"string"},"durationIncrease":{"type":"string","format":"uint64"}}},"structs.structs.MsgAgreementOpen":{"type":"object","properties":{"capacity":{"type":"string","format":"uint64"},"creator":{"type":"string"},"duration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgAgreementResponse":{"type":"object"},"structs.structs.MsgAllocationCreate":{"type":"object","properties":{"allocationType":{"$ref":"#/definitions/structs.structs.allocationType"},"controller":{"type":"string"},"creator":{"type":"string"},"power":{"type":"string","format":"uint64"},"sourceObjectId":{"type":"string"}}},"structs.structs.MsgAllocationCreateResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationDelete":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAllocationDeleteResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationTransfer":{"type":"object","properties":{"allocationId":{"type":"string"},"controller":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAllocationTransferResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationUpdate":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"power":{"type":"string","format":"uint64"}}},"structs.structs.MsgAllocationUpdateResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgFleetMove":{"type":"object","properties":{"creator":{"type":"string"},"destinationLocationId":{"type":"string"},"fleetId":{"type":"string"}}},"structs.structs.MsgFleetMoveResponse":{"type":"object","properties":{"fleet":{"$ref":"#/definitions/structs.structs.Fleet"}}},"structs.structs.MsgGuildBankConfiscateAndBurn":{"type":"object","properties":{"address":{"type":"string"},"amountToken":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankConfiscateAndBurnResponse":{"type":"object"},"structs.structs.MsgGuildBankMint":{"type":"object","properties":{"amountAlpha":{"type":"string","format":"uint64"},"amountToken":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankMintResponse":{"type":"object"},"structs.structs.MsgGuildBankRedeem":{"type":"object","properties":{"amountToken":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankRedeemResponse":{"type":"object"},"structs.structs.MsgGuildCreate":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"entrySubstationId":{"type":"string"}}},"structs.structs.MsgGuildCreateResponse":{"type":"object","properties":{"guildId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInvite":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteApprove":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteDeny":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipJoin":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"infusionId":{"type":"array","items":{"type":"string"}},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipJoinProxy":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"proofPubKey":{"type":"string"},"proofSignature":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipKick":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequest":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestApprove":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestDeny":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipResponse":{"type":"object","properties":{"guildMembershipApplication":{"$ref":"#/definitions/structs.structs.GuildMembershipApplication"}}},"structs.structs.MsgGuildUpdateEndpoint":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"guildId":{"type":"string"}}},"structs.structs.MsgGuildUpdateEntrySubstationId":{"type":"object","properties":{"creator":{"type":"string"},"entrySubstationId":{"type":"string"},"guildId":{"type":"string"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimum":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"joinInfusionMinimum":{"type":"string","format":"uint64"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"guildJoinBypassLevel":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"guildJoinBypassLevel":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"}}},"structs.structs.MsgGuildUpdateOwnerId":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.MsgGuildUpdateResponse":{"type":"object"},"structs.structs.MsgPermissionGrantOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionGrantOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPermissionResponse":{"type":"object"},"structs.structs.MsgPermissionRevokeOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionRevokeOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPermissionSetOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionSetOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPlanetExplore":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgPlanetExploreResponse":{"type":"object","properties":{"planet":{"$ref":"#/definitions/structs.structs.Planet"}}},"structs.structs.MsgPlanetRaidComplete":{"type":"object","properties":{"creator":{"type":"string"},"fleetId":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"}}},"structs.structs.MsgPlanetRaidCompleteResponse":{"type":"object","properties":{"fleet":{"$ref":"#/definitions/structs.structs.Fleet"},"oreStolen":{"type":"string","format":"uint64"},"planet":{"$ref":"#/definitions/structs.structs.Planet"}}},"structs.structs.MsgPlayerResume":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgPlayerResumeResponse":{"type":"object"},"structs.structs.MsgPlayerUpdatePrimaryAddress":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"},"primaryAddress":{"type":"string"}}},"structs.structs.MsgPlayerUpdatePrimaryAddressResponse":{"type":"object"},"structs.structs.MsgProviderCreate":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"capacityMaximum":{"type":"string","format":"uint64"},"capacityMinimum":{"type":"string","format":"uint64"},"consumerCancellationPenalty":{"type":"string"},"creator":{"type":"string"},"durationMaximum":{"type":"string","format":"uint64"},"durationMinimum":{"type":"string","format":"uint64"},"providerCancellationPenalty":{"type":"string"},"rate":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"substationId":{"type":"string"}}},"structs.structs.MsgProviderDelete":{"type":"object","properties":{"creator":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderGuildGrant":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"array","items":{"type":"string"}},"providerId":{"type":"string"}}},"structs.structs.MsgProviderGuildRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"array","items":{"type":"string"}},"providerId":{"type":"string"}}},"structs.structs.MsgProviderResponse":{"type":"object"},"structs.structs.MsgProviderUpdateAccessPolicy":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"creator":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateCapacityMaximum":{"type":"object","properties":{"creator":{"type":"string"},"newMaximumCapacity":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateCapacityMinimum":{"type":"object","properties":{"creator":{"type":"string"},"newMinimumCapacity":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateDurationMaximum":{"type":"object","properties":{"creator":{"type":"string"},"newMaximumDuration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateDurationMinimum":{"type":"object","properties":{"creator":{"type":"string"},"newMinimumDuration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderWithdrawBalance":{"type":"object","properties":{"creator":{"type":"string"},"destinationAddress":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgStructActivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructAttack":{"type":"object","properties":{"creator":{"type":"string"},"operatingStructId":{"type":"string"},"targetStructId":{"type":"array","items":{"type":"string"}},"weaponSystem":{"type":"string"}}},"structs.structs.MsgStructAttackResponse":{"type":"object"},"structs.structs.MsgStructBuildCancel":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructBuildComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructBuildInitiate":{"type":"object","properties":{"creator":{"type":"string"},"operatingAmbit":{"title":"objectType locationType = 4;","$ref":"#/definitions/structs.structs.ambit"},"playerId":{"type":"string"},"slot":{"type":"string","format":"uint64"},"structTypeId":{"type":"string","format":"uint64"}}},"structs.structs.MsgStructDeactivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructDefenseClear":{"type":"object","properties":{"creator":{"type":"string"},"defenderStructId":{"type":"string"}}},"structs.structs.MsgStructDefenseSet":{"type":"object","properties":{"creator":{"type":"string"},"defenderStructId":{"type":"string"},"protectedStructId":{"type":"string"}}},"structs.structs.MsgStructGeneratorInfuse":{"type":"object","properties":{"creator":{"type":"string"},"infuseAmount":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructGeneratorStatusResponse":{"type":"object"},"structs.structs.MsgStructMove":{"type":"object","properties":{"ambit":{"$ref":"#/definitions/structs.structs.ambit"},"creator":{"type":"string"},"locationType":{"$ref":"#/definitions/structs.structs.objectType"},"slot":{"type":"string","format":"uint64"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreMinerComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreMinerStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructOreRefineryComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreRefineryStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructStealthActivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructStealthDeactivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgSubstationAllocationConnect":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"destinationId":{"type":"string"}}},"structs.structs.MsgSubstationAllocationConnectResponse":{"type":"object"},"structs.structs.MsgSubstationAllocationDisconnect":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgSubstationAllocationDisconnectResponse":{"type":"object"},"structs.structs.MsgSubstationCreate":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.MsgSubstationCreateResponse":{"type":"object","properties":{"substationId":{"type":"string"}}},"structs.structs.MsgSubstationDelete":{"type":"object","properties":{"creator":{"type":"string"},"migrationSubstationId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationDeleteResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerConnect":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerConnectResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerDisconnect":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerDisconnectResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerMigrate":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"array","items":{"type":"string"}},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerMigrateResponse":{"type":"object"},"structs.structs.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/structs.structs.Params"}}},"structs.structs.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"structs.structs.Params":{"description":"Params defines the parameters for the module.","type":"object"},"structs.structs.PermissionRecord":{"type":"object","properties":{"permissionId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.Planet":{"type":"object","properties":{"air":{"type":"array","items":{"type":"string"}},"airSlots":{"type":"string","format":"uint64"},"creator":{"type":"string"},"id":{"type":"string"},"land":{"type":"array","items":{"type":"string"}},"landSlots":{"type":"string","format":"uint64"},"locationListLast":{"type":"string","title":"End of the line"},"locationListStart":{"type":"string","title":"First in line to battle planet"},"maxOre":{"type":"string","format":"uint64"},"owner":{"type":"string"},"space":{"type":"array","items":{"type":"string"}},"spaceSlots":{"type":"string","format":"uint64"},"status":{"$ref":"#/definitions/structs.structs.planetStatus"},"water":{"type":"array","items":{"type":"string"}},"waterSlots":{"type":"string","format":"uint64"}}},"structs.structs.PlanetAttributeRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.PlanetAttributes":{"type":"object","properties":{"advancedLowOrbitBallisticsInterceptorNetworkQuantity":{"type":"string","format":"uint64"},"advancedOrbitalJammingStationQuantity":{"type":"string","format":"uint64"},"blockStartRaid":{"type":"string","format":"uint64"},"coordinatedGlobalShieldNetworkQuantity":{"type":"string","format":"uint64"},"defensiveCannonQuantity":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkQuantity":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkSuccessRateDenominator":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkSuccessRateNumerator":{"type":"string","format":"uint64"},"orbitalJammingStationQuantity":{"type":"string","format":"uint64"},"planetaryShield":{"type":"string","format":"uint64"},"repairNetworkQuantity":{"type":"string","format":"uint64"}}},"structs.structs.Player":{"type":"object","properties":{"creator":{"type":"string"},"fleetId":{"type":"string"},"guildId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"planetId":{"type":"string"},"primaryAddress":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.PlayerInventory":{"type":"object","properties":{"rocks":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"structs.structs.Provider":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"capacityMaximum":{"type":"string","format":"uint64"},"capacityMinimum":{"type":"string","format":"uint64"},"consumerCancellationPenalty":{"type":"string"},"creator":{"type":"string"},"durationMaximum":{"type":"string","format":"uint64"},"durationMinimum":{"type":"string","format":"uint64"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"owner":{"type":"string"},"providerCancellationPenalty":{"type":"string"},"rate":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"substationId":{"type":"string"}}},"structs.structs.QueryAddressResponse":{"type":"object","properties":{"address":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.QueryAllAddressResponse":{"type":"object","properties":{"address":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.QueryAddressResponse"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllAgreementResponse":{"type":"object","properties":{"Agreement":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Agreement"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllAllocationResponse":{"type":"object","properties":{"Allocation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Allocation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"status":{"type":"array","items":{"type":"string","format":"uint64"}}}},"structs.structs.QueryAllFleetResponse":{"type":"object","properties":{"Fleet":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Fleet"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGridResponse":{"type":"object","properties":{"gridRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.GridRecord"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildBankCollateralAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildMembershipApplicationResponse":{"type":"object","properties":{"GuildMembershipApplication":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.GuildMembershipApplication"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildResponse":{"type":"object","properties":{"Guild":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Guild"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllInfusionResponse":{"type":"object","properties":{"Infusion":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Infusion"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"status":{"type":"array","items":{"type":"string","format":"uint64"}}}},"structs.structs.QueryAllPermissionResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"permissionRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.PermissionRecord"}}}},"structs.structs.QueryAllPlanetAttributeResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"planetAttributeRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.PlanetAttributeRecord"}}}},"structs.structs.QueryAllPlanetResponse":{"type":"object","properties":{"Planet":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Planet"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllPlayerHaltedResponse":{"type":"object","properties":{"PlayerId":{"type":"array","items":{"type":"string"}}}},"structs.structs.QueryAllPlayerResponse":{"type":"object","properties":{"Player":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Player"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderCollateralAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderEarningsAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderResponse":{"type":"object","properties":{"Provider":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Provider"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllReactorResponse":{"type":"object","properties":{"Reactor":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Reactor"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllStructAttributeResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"structAttributeRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.StructAttributeRecord"}}}},"structs.structs.QueryAllStructResponse":{"type":"object","properties":{"Struct":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Struct"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllStructTypeResponse":{"type":"object","properties":{"StructType":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.StructType"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllSubstationResponse":{"type":"object","properties":{"Substation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Substation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryBlockHeightResponse":{"type":"object","properties":{"blockHeight":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetAgreementResponse":{"type":"object","properties":{"Agreement":{"$ref":"#/definitions/structs.structs.Agreement"}}},"structs.structs.QueryGetAllocationResponse":{"type":"object","properties":{"Allocation":{"$ref":"#/definitions/structs.structs.Allocation"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetFleetResponse":{"type":"object","properties":{"Fleet":{"$ref":"#/definitions/structs.structs.Fleet"}}},"structs.structs.QueryGetGridResponse":{"type":"object","title":"Generic Responses for Permissions","properties":{"gridRecord":{"$ref":"#/definitions/structs.structs.GridRecord"}}},"structs.structs.QueryGetGuildMembershipApplicationResponse":{"type":"object","properties":{"GuildMembershipApplication":{"$ref":"#/definitions/structs.structs.GuildMembershipApplication"}}},"structs.structs.QueryGetGuildResponse":{"type":"object","properties":{"Guild":{"$ref":"#/definitions/structs.structs.Guild"}}},"structs.structs.QueryGetInfusionResponse":{"type":"object","properties":{"Infusion":{"$ref":"#/definitions/structs.structs.Infusion"}}},"structs.structs.QueryGetPermissionResponse":{"type":"object","title":"Generic Responses for Permissions","properties":{"permissionRecord":{"$ref":"#/definitions/structs.structs.PermissionRecord"}}},"structs.structs.QueryGetPlanetAttributeResponse":{"type":"object","properties":{"attribute":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetPlanetResponse":{"type":"object","properties":{"Planet":{"$ref":"#/definitions/structs.structs.Planet"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"planetAttributes":{"$ref":"#/definitions/structs.structs.PlanetAttributes"}}},"structs.structs.QueryGetPlayerResponse":{"type":"object","properties":{"Player":{"$ref":"#/definitions/structs.structs.Player"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"halted":{"type":"boolean"},"playerInventory":{"$ref":"#/definitions/structs.structs.PlayerInventory"}}},"structs.structs.QueryGetProviderResponse":{"type":"object","properties":{"Provider":{"$ref":"#/definitions/structs.structs.Provider"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetReactorResponse":{"type":"object","properties":{"Reactor":{"$ref":"#/definitions/structs.structs.Reactor"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetStructAttributeResponse":{"type":"object","properties":{"attribute":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetStructResponse":{"type":"object","properties":{"Struct":{"$ref":"#/definitions/structs.structs.Struct"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"structAttributes":{"$ref":"#/definitions/structs.structs.StructAttributes"},"structDefenders":{"type":"array","items":{"type":"string"}}}},"structs.structs.QueryGetStructTypeResponse":{"type":"object","properties":{"StructType":{"$ref":"#/definitions/structs.structs.StructType"}}},"structs.structs.QueryGetSubstationResponse":{"type":"object","properties":{"Substation":{"$ref":"#/definitions/structs.structs.Substation"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/structs.structs.Params"}}},"structs.structs.QueryValidateSignatureResponse":{"type":"object","properties":{"addressPubkeyMismatch":{"type":"boolean"},"pubkeyFormatError":{"type":"boolean"},"signatureFormatError":{"type":"boolean"},"signatureInvalid":{"type":"boolean"},"valid":{"type":"boolean"}}},"structs.structs.Reactor":{"type":"object","properties":{"defaultCommission":{"type":"string"},"guildId":{"type":"string"},"id":{"type":"string"},"rawAddress":{"type":"string","format":"byte"},"validator":{"type":"string"}}},"structs.structs.Struct":{"type":"object","properties":{"creator":{"type":"string","title":"Who is it"},"id":{"type":"string","title":"What it is"},"index":{"type":"string","format":"uint64"},"locationId":{"type":"string"},"locationType":{"title":"Where it is","$ref":"#/definitions/structs.structs.objectType"},"operatingAmbit":{"$ref":"#/definitions/structs.structs.ambit"},"owner":{"type":"string"},"slot":{"type":"string","format":"uint64"},"type":{"type":"string","format":"uint64"}}},"structs.structs.StructAttributeRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.StructAttributes":{"type":"object","properties":{"blockStartBuild":{"type":"string","format":"uint64"},"blockStartOreMine":{"type":"string","format":"uint64"},"blockStartOreRefine":{"type":"string","format":"uint64"},"health":{"type":"string","format":"uint64"},"isBuilt":{"type":"boolean"},"isDestroyed":{"type":"boolean"},"isHidden":{"type":"boolean"},"isLocked":{"type":"boolean"},"isMaterialized":{"type":"boolean"},"isOnline":{"type":"boolean"},"protectedStructIndex":{"type":"string","format":"uint64"},"status":{"type":"string","format":"uint64"},"typeCount":{"type":"string","format":"uint64"}}},"structs.structs.StructType":{"type":"object","properties":{"activateCharge":{"type":"string","format":"uint64","title":"Charge uses"},"attackCounterable":{"type":"boolean","title":"For Indirect Combat Module"},"attackReduction":{"description":"For Defensive Cannon","type":"string","format":"uint64","title":"Tech Tree Attributes"},"buildCharge":{"type":"string","format":"uint64"},"buildDifficulty":{"type":"string","format":"uint64","title":"How much compute is needed to build"},"buildDraw":{"type":"string","format":"uint64","title":"How much energy the Struct consumes during building"},"buildLimit":{"type":"string","format":"uint64","title":"How many of this Struct Type a player can have"},"category":{"description":"Planet or Fleet","title":"Fundamental attributes","$ref":"#/definitions/structs.structs.objectType"},"class":{"type":"string","title":"New Struct Type Identity Details"},"classAbbreviation":{"type":"string"},"counterAttack":{"type":"string","format":"uint64","title":"Counter"},"counterAttackSameAmbit":{"type":"string","format":"uint64","title":"Advanced Counter"},"defaultCosmeticModelNumber":{"type":"string"},"defaultCosmeticName":{"type":"string"},"defendChangeCharge":{"type":"string","format":"uint64"},"generatingRate":{"type":"string","format":"uint64","title":"Power Generation"},"guidedDefensiveSuccessRateDenominator":{"type":"string","format":"uint64"},"guidedDefensiveSuccessRateNumerator":{"type":"string","format":"uint64"},"id":{"type":"string","format":"uint64"},"maxHealth":{"type":"string","format":"uint64","title":"How much damage can it take"},"movable":{"type":"boolean","title":"Can the Struct change ambit?"},"moveCharge":{"type":"string","format":"uint64"},"oreMiningCharge":{"type":"string","format":"uint64"},"oreMiningDifficulty":{"type":"string","format":"uint64"},"oreRefiningCharge":{"type":"string","format":"uint64"},"oreRefiningDifficulty":{"type":"string","format":"uint64"},"oreReserveDefenses":{"$ref":"#/definitions/structs.structs.techOreReserveDefenses"},"passiveDraw":{"type":"string","format":"uint64","title":"How much energy the Struct consumes when active"},"passiveWeaponry":{"title":"Tech Tree Features","$ref":"#/definitions/structs.structs.techPassiveWeaponry"},"planetaryDefenses":{"$ref":"#/definitions/structs.structs.techPlanetaryDefenses"},"planetaryMining":{"$ref":"#/definitions/structs.structs.techPlanetaryMining"},"planetaryRefinery":{"$ref":"#/definitions/structs.structs.techPlanetaryRefineries"},"planetaryShieldContribution":{"type":"string","format":"uint64","title":"The shield that is added to the Planet"},"possibleAmbit":{"description":"Where can it be built and moved to. Usually only a single ambit but some Structs have multiple possible (i.e. Command Ship)","type":"string","format":"uint64","title":"Details about location and movement\nTODO move category to here and make it flag based too\nReplicate what was done for ambits flags"},"postDestructionDamage":{"type":"string","format":"uint64"},"powerGeneration":{"$ref":"#/definitions/structs.structs.techPowerGeneration"},"primaryWeapon":{"title":"Primary Weapon Configuration","$ref":"#/definitions/structs.structs.techActiveWeaponry"},"primaryWeaponAmbits":{"type":"string","format":"uint64"},"primaryWeaponBlockable":{"type":"boolean"},"primaryWeaponCharge":{"type":"string","format":"uint64"},"primaryWeaponControl":{"$ref":"#/definitions/structs.structs.techWeaponControl"},"primaryWeaponCounterable":{"type":"boolean"},"primaryWeaponDamage":{"type":"string","format":"uint64"},"primaryWeaponRecoilDamage":{"type":"string","format":"uint64"},"primaryWeaponShotSuccessRateDenominator":{"type":"string","format":"uint64"},"primaryWeaponShotSuccessRateNumerator":{"type":"string","format":"uint64"},"primaryWeaponShots":{"type":"string","format":"uint64"},"primaryWeaponTargets":{"type":"string","format":"uint64"},"secondaryWeapon":{"title":"Secondary Weapon Configuration","$ref":"#/definitions/structs.structs.techActiveWeaponry"},"secondaryWeaponAmbits":{"type":"string","format":"uint64"},"secondaryWeaponBlockable":{"type":"boolean"},"secondaryWeaponCharge":{"type":"string","format":"uint64"},"secondaryWeaponControl":{"$ref":"#/definitions/structs.structs.techWeaponControl"},"secondaryWeaponCounterable":{"type":"boolean"},"secondaryWeaponDamage":{"type":"string","format":"uint64"},"secondaryWeaponRecoilDamage":{"type":"string","format":"uint64"},"secondaryWeaponShotSuccessRateDenominator":{"type":"string","format":"uint64"},"secondaryWeaponShotSuccessRateNumerator":{"type":"string","format":"uint64"},"secondaryWeaponShots":{"type":"string","format":"uint64"},"secondaryWeaponTargets":{"type":"string","format":"uint64"},"slotBound":{"type":"boolean","title":"Does the Struct occupy a slot. Trying to find something to help set Command Ships apart"},"stealthActivateCharge":{"type":"string","format":"uint64"},"stealthSystems":{"type":"boolean","title":"For Stealth Mode"},"triggerRaidDefeatByDestruction":{"description":"I wish this was higher up in a different area of the definition\nbut I really don't feel like renumbering this entire thing again.","type":"boolean"},"type":{"description":"TODO Deprecating... Will match with Class for now.","type":"string"},"unguidedDefensiveSuccessRateDenominator":{"type":"string","format":"uint64"},"unguidedDefensiveSuccessRateNumerator":{"type":"string","format":"uint64"},"unitDefenses":{"$ref":"#/definitions/structs.structs.techUnitDefenses"}}},"structs.structs.Substation":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.allocationType":{"type":"string","default":"static","enum":["static","dynamic","automated","providerAgreement"]},"structs.structs.ambit":{"type":"string","default":"none","enum":["none","water","land","air","space","local"]},"structs.structs.fleetStatus":{"type":"string","default":"onStation","enum":["onStation","away"]},"structs.structs.guildJoinBypassLevel":{"type":"string","title":"- closed: Feature off\n - permissioned: Only those with permissions can do it\n - member: All members of the guild can contribute","default":"closed","enum":["closed","permissioned","member"]},"structs.structs.guildJoinType":{"type":"string","default":"invite","enum":["invite","request","direct","proxy"]},"structs.structs.objectType":{"type":"string","default":"guild","enum":["guild","player","planet","reactor","substation","struct","allocation","infusion","address","fleet","provider","agreement"]},"structs.structs.planetStatus":{"type":"string","default":"active","enum":["active","complete"]},"structs.structs.providerAccessPolicy":{"type":"string","default":"openMarket","enum":["openMarket","guildMarket","closedMarket"]},"structs.structs.registrationStatus":{"type":"string","default":"proposed","enum":["proposed","approved","denied","revoked"]},"structs.structs.techActiveWeaponry":{"type":"string","default":"noActiveWeaponry","enum":["noActiveWeaponry","guidedWeaponry","unguidedWeaponry","attackRun","selfDestruct"]},"structs.structs.techOreReserveDefenses":{"type":"string","default":"noOreReserveDefenses","enum":["noOreReserveDefenses","coordinatedReserveResponseTracker","rapidResponsePackage","activeScanning","monitoringStation","oreBunker"]},"structs.structs.techPassiveWeaponry":{"type":"string","default":"noPassiveWeaponry","enum":["noPassiveWeaponry","counterAttack","strongCounterAttack","advancedCounterAttack","lastResort"]},"structs.structs.techPlanetaryDefenses":{"type":"string","title":"- lowOrbitBallisticInterceptorNetwork: advancedLowOrbitBallisticInterceptorNetwork = 3;\nrepairNetwork = 4;\ncoordinatedGlobalShieldNetwork = 5;\norbitalJammingStation = 6;\nadvancedOrbitalJammingStation = 7;","default":"noPlanetaryDefense","enum":["noPlanetaryDefense","defensiveCannon","lowOrbitBallisticInterceptorNetwork"]},"structs.structs.techPlanetaryMining":{"type":"string","default":"noPlanetaryMining","enum":["noPlanetaryMining","oreMiningRig"]},"structs.structs.techPlanetaryRefineries":{"type":"string","default":"noPlanetaryRefinery","enum":["noPlanetaryRefinery","oreRefinery"]},"structs.structs.techPowerGeneration":{"type":"string","default":"noPowerGeneration","enum":["noPowerGeneration","smallGenerator","mediumGenerator","largeGenerator"]},"structs.structs.techUnitDefenses":{"type":"string","default":"noUnitDefenses","enum":["noUnitDefenses","defensiveManeuver","signalJamming","armour","indirectCombatModule","stealthMode","perimeterFencing","reinforcedWalls"]},"structs.structs.techWeaponControl":{"type":"string","default":"noWeaponControl","enum":["noWeaponControl","guided","unguided"]}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/x/structs/keeper/infusion.go b/x/structs/keeper/infusion.go index 16f3c17..dc8b8a8 100644 --- a/x/structs/keeper/infusion.go +++ b/x/structs/keeper/infusion.go @@ -145,6 +145,7 @@ func (k Keeper) RemoveInfusion(ctx context.Context, destinationId string, addres _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventDelete{ ObjectId: infusionId}) } + // GetAllInfusion returns all infusion func (k Keeper) GetAllInfusion(ctx context.Context) (list []types.Infusion) { store := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), types.KeyPrefix(types.InfusionKey)) diff --git a/x/structs/keeper/msg_server_fleet_move.go b/x/structs/keeper/msg_server_fleet_move.go index fc71191..6d6797a 100644 --- a/x/structs/keeper/msg_server_fleet_move.go +++ b/x/structs/keeper/msg_server_fleet_move.go @@ -43,9 +43,9 @@ func (k msgServer) FleetMove(goCtx context.Context, msg *types.MsgFleetMove) (*t return &types.MsgFleetMoveResponse{}, readinessError } - if fleet.GetPlanetId() != msg.DestinationLocationId { - if fleet.GetPlanet().GetLocationListStart() = msg.FleetId { - _ = ctx.EventManager().EmitTypedEvent(&types.EventRaid{&types.EventRaidDetail{FleetId: msg.FleetId, PlanetId: fleet.GetPlanetId(), Status: types.RaidStatus_attackerRetreated}}) + if fleet.GetLocationId() != msg.DestinationLocationId { + if fleet.GetPlanet().GetLocationListStart() == msg.FleetId { + _ = ctx.EventManager().EmitTypedEvent(&types.EventRaid{&types.EventRaidDetail{FleetId: msg.FleetId, PlanetId: fleet.GetLocationId(), Status: types.RaidStatus_attackerRetreated}}) } } diff --git a/x/structs/keeper/msg_server_guild_membership_join.go b/x/structs/keeper/msg_server_guild_membership_join.go index 6642405..a58cd8c 100644 --- a/x/structs/keeper/msg_server_guild_membership_join.go +++ b/x/structs/keeper/msg_server_guild_membership_join.go @@ -2,15 +2,16 @@ package keeper import ( "context" - + "time" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" + staking "github.com/cosmos/cosmos-sdk/x/staking/types" ) func (k msgServer) GuildMembershipJoin(goCtx context.Context, msg *types.MsgGuildMembershipJoin) (*types.MsgGuildMembershipResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) - // Add an Active Address record to the // indexer for UI requirements k.AddressEmitActivity(ctx, msg.Creator) @@ -46,6 +47,17 @@ func (k msgServer) GuildMembershipJoin(goCtx context.Context, msg *types.MsgGuil return &types.MsgGuildMembershipResponse{}, sdkerrors.Wrapf(types.ErrGuildMembershipApplication, "Membership Application already pending. Deny request or invitation first") } + var infusionMigrationList []types.Infusion + var infusionMigrationShares []math.LegacyDec + var infusionMigrationReactor []sdk.ValAddress + var infusionMigrationAmount []math.Int + + destinationReactor, destinationReactorFound := k.GetReactor(ctx, guild.PrimaryReactorId) + if (!destinationReactorFound) { + return &types.MsgGuildMembershipResponse{}, sdkerrors.Wrapf(types.ErrGuildMembershipApplication, "Somehow this reactor (%s) doesn't exist, you should tell an adult",guild.PrimaryReactorId) + } + destinationValidatorAccount, _ := sdk.ValAddressFromBech32(destinationReactor.Validator) + if (guild.JoinInfusionMinimum != 0) { var currentFuel uint64 @@ -59,6 +71,7 @@ func (k msgServer) GuildMembershipJoin(goCtx context.Context, msg *types.MsgGuil * - Owned by the player * - Points to a Reactor * - The Destination Reactor is part of the Guild + * - If the destination reactor is not part of the guild, we need to migrate the assets over. */ for _, infusionId := range msg.InfusionId { @@ -75,24 +88,52 @@ func (k msgServer) GuildMembershipJoin(goCtx context.Context, msg *types.MsgGuil return &types.MsgGuildMembershipResponse{}, sdkerrors.Wrapf(types.ErrGuildMembershipApplication, "Only Reactor infusions allowed, Infusion (%s) unacceptable", infusionId) } - reactor, reactorFound := k.GetReactor(ctx, infusion.DestinationId) - if (!reactorFound) { + sourceReactor, sourceReactorFound := k.GetReactor(ctx, infusion.DestinationId) + if (!sourceReactorFound) { return &types.MsgGuildMembershipResponse{}, sdkerrors.Wrapf(types.ErrGuildMembershipApplication, "Somehow this reactor (%s) doesn't exist, you should tell an adult",infusion.DestinationId) } - if (reactor.GuildId != msg.GuildId) { - return &types.MsgGuildMembershipResponse{}, sdkerrors.Wrapf(types.ErrGuildMembershipApplication, "Infusion (%s) is for a Reactor (%s) of a different Guild (%s)", infusionId, reactor.Id, reactor.GuildId) + if (sourceReactor.GuildId != msg.GuildId) { + /* + Previously, this would fail at this point but now we'll be migrating the infusion + over to the new guilds reactor. + + Before migrating the infusions, we need to... + [] confirm they can be migrated (and are not stuck in a redelegation) + [] confirm the total amount of infusions migrating will meet the minimum + + */ + + // The amount available to move over is the amount of Fuel minus the Defusing quantity (as it's already moving) + redelegateAmountFuel := math.NewIntFromUint64(infusion.Fuel) + if redelegateAmountFuel.LT(infusion.Defusing) { + return &types.MsgGuildMembershipResponse{}, sdkerrors.Wrapf(types.ErrGuildMembershipApplication, "Infusion (%s) unacceptable because Fuel less the defusing", infusionId) + } + redelegateAmount := redelegateAmountFuel.Sub(infusion.Defusing) + infusionMigrationAmount = append(infusionMigrationAmount, redelegateAmount) + + // The validation should never fail assuming there isn't a bug in the Infusion system + // but we can use this function to reliably calculate the shares + infusionAccount, _ := sdk.AccAddressFromBech32(infusion.Address) + sourceValidatorAccount, _ := sdk.ValAddressFromBech32(sourceReactor.Validator) + shares, validationErr := k.stakingKeeper.ValidateUnbondAmount( + ctx, infusionAccount, sourceValidatorAccount, redelegateAmount, + ) + if validationErr != nil { + return &types.MsgGuildMembershipResponse{}, validationErr + } + + // The actual redelegation process will only start after all values are checked + // Save the validation results for later in the function + infusionMigrationReactor = append(infusionMigrationReactor, sourceValidatorAccount) + infusionMigrationShares = append(infusionMigrationShares, shares) + infusionMigrationList = append(infusionMigrationList, infusion) + + currentFuel = currentFuel + redelegateAmount.Uint64() + } else { + currentFuel = currentFuel + infusion.Fuel } - currentFuel = currentFuel + infusion.Fuel - - /* This is an expensive process, so fail fast. - * - * This could mean an infusion is provided in the message that doesn't - * meet these requirements but at this point, we've met the infusion - * minimum of the guild so that doesn't actually matter. - */ - if (currentFuel > guild.JoinInfusionMinimum) { break } } if (currentFuel < guild.JoinInfusionMinimum) { @@ -137,6 +178,40 @@ func (k msgServer) GuildMembershipJoin(goCtx context.Context, msg *types.MsgGuil guildMembershipApplication.JoinType = types.GuildJoinType_direct guildMembershipApplication.RegistrationStatus = types.RegistrationStatus_approved + // This seems like a safe place for this. + // We either need to do this basically last, or undo any changes if errors occur. + for migrationInfusionIndex, migrationInfusion := range infusionMigrationList { + // Handle the migration of Infusions from previous reactor to new + + infusionAccount, _ := sdk.AccAddressFromBech32(migrationInfusion.Address) + completionTime, redelegationErr := k.stakingKeeper.BeginRedelegation( + ctx, + infusionAccount, + infusionMigrationReactor[migrationInfusionIndex], + destinationValidatorAccount, + infusionMigrationShares[migrationInfusionIndex], + ) + + // This is kinda a problem by now tbh + // Maybe tell an adult if this happens + if redelegationErr != nil { + return &types.MsgGuildMembershipResponse{}, redelegationErr + } + + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + staking.EventTypeRedelegate, + sdk.NewAttribute(staking.AttributeKeySrcValidator, infusionMigrationReactor[migrationInfusionIndex].String()), + sdk.NewAttribute(staking.AttributeKeyDstValidator, destinationReactor.Validator), + sdk.NewAttribute(staking.AttributeKeyDelegator, migrationInfusion.Address), + sdk.NewAttribute(sdk.AttributeKeyAmount, infusionMigrationAmount[migrationInfusionIndex].String()), + sdk.NewAttribute(staking.AttributeKeyCompletionTime, completionTime.Format(time.RFC3339)), + ), + }) + + } + + // Look up joining account targetPlayer := k.UpsertPlayer(ctx, msg.Creator) targetPlayer.GuildId = msg.GuildId diff --git a/x/structs/types/expected_keepers.go b/x/structs/types/expected_keepers.go index 9f002d4..fb2371d 100644 --- a/x/structs/types/expected_keepers.go +++ b/x/structs/types/expected_keepers.go @@ -2,7 +2,7 @@ package types import ( "context" - + "time" "cosmossdk.io/math" "cosmossdk.io/core/address" sdk "github.com/cosmos/cosmos-sdk/types" @@ -32,6 +32,9 @@ type StakingKeeper interface { SetDelegation(ctx context.Context, delegation staking.Delegation) error RemoveDelegation(ctx context.Context, delegation staking.Delegation) error + // Needed for the Join Migration + ValidateUnbondAmount(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, amt math.Int) (shares math.LegacyDec, err error) + BeginRedelegation(ctx context.Context, delAddr sdk.AccAddress, valSrcAddr, valDstAddr sdk.ValAddress, sharesAmount math.LegacyDec) (completionTime time.Time, err error) } diff --git a/x/structs/types/keys.pb.go b/x/structs/types/keys.pb.go index 3b9d3a4..b3086a4 100644 --- a/x/structs/types/keys.pb.go +++ b/x/structs/types/keys.pb.go @@ -301,27 +301,30 @@ func (Ambit) EnumDescriptor() ([]byte, []int) { type RaidStatus int32 const ( - RaidStatus_initiated RaidStatus = 0 - RaidStatus_ongoing RaidStatus = 2 - RaidStatus_attackerDefeated RaidStatus = 1 - RaidStatus_raidSuccessful RaidStatus = 3 - RaidStatus_demilitarized RaidStatus = 4 + RaidStatus_initiated RaidStatus = 0 + RaidStatus_ongoing RaidStatus = 2 + RaidStatus_attackerDefeated RaidStatus = 1 + RaidStatus_attackerRetreated RaidStatus = 5 + RaidStatus_raidSuccessful RaidStatus = 3 + RaidStatus_demilitarized RaidStatus = 4 ) var RaidStatus_name = map[int32]string{ 0: "initiated", 2: "ongoing", 1: "attackerDefeated", + 5: "attackerRetreated", 3: "raidSuccessful", 4: "demilitarized", } var RaidStatus_value = map[string]int32{ - "initiated": 0, - "ongoing": 2, - "attackerDefeated": 1, - "raidSuccessful": 3, - "demilitarized": 4, + "initiated": 0, + "ongoing": 2, + "attackerDefeated": 1, + "attackerRetreated": 5, + "raidSuccessful": 3, + "demilitarized": 4, } func (x RaidStatus) String() string { @@ -873,100 +876,101 @@ func init() { func init() { proto.RegisterFile("structs/structs/keys.proto", fileDescriptor_d2b5c851dc116405) } var fileDescriptor_d2b5c851dc116405 = []byte{ - // 1519 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4f, 0x6f, 0x64, 0x47, - 0x11, 0x9f, 0x37, 0xe3, 0xb1, 0x3d, 0x65, 0x7b, 0xdd, 0x6e, 0x7b, 0xff, 0xb0, 0x08, 0x4b, 0x11, - 0x4a, 0x80, 0x27, 0x94, 0x80, 0xe0, 0x10, 0x45, 0x28, 0xe0, 0xf1, 0x26, 0xd1, 0x46, 0xeb, 0xdd, - 0xc5, 0x4e, 0x14, 0x89, 0x5b, 0x4f, 0xbf, 0x9a, 0xe7, 0x66, 0xde, 0xeb, 0x7a, 0x74, 0xf7, 0x1b, - 0xef, 0x70, 0xe5, 0xc2, 0x91, 0x3b, 0x1f, 0x01, 0x71, 0xe1, 0x53, 0x70, 0xcc, 0x11, 0x71, 0x42, - 0xbb, 0x5f, 0x04, 0x55, 0xf7, 0x9b, 0x19, 0x8f, 0x2d, 0x21, 0x72, 0x9a, 0x79, 0xbf, 0xea, 0xae, - 0xfa, 0x75, 0xf5, 0xaf, 0xaa, 0x1a, 0x9e, 0xfa, 0xe0, 0x5a, 0x1d, 0xfc, 0x47, 0xcb, 0xdf, 0x19, - 0x2e, 0xfc, 0x87, 0x8d, 0xa3, 0x40, 0xf2, 0xb0, 0xc3, 0x3e, 0xec, 0x7e, 0x9f, 0x9e, 0x94, 0x54, - 0x52, 0xb4, 0x7d, 0xc4, 0xff, 0xd2, 0xb2, 0xfc, 0x6f, 0x19, 0x00, 0x4d, 0x7e, 0x8f, 0x3a, 0x7c, - 0xb5, 0x68, 0x50, 0x8e, 0x60, 0x58, 0xb6, 0xa6, 0x2a, 0x44, 0x4f, 0x02, 0x6c, 0x37, 0x95, 0x5a, - 0xa0, 0x13, 0x59, 0xf7, 0xdf, 0x62, 0x10, 0x7d, 0xb9, 0x07, 0x3b, 0x0e, 0x95, 0x0e, 0xe4, 0xc4, - 0x40, 0x3e, 0x00, 0xf0, 0xed, 0xc4, 0x07, 0x15, 0x0c, 0x59, 0xb1, 0xc5, 0x0b, 0x53, 0x3c, 0x31, - 0x64, 0x9b, 0xaa, 0x2a, 0xd2, 0xc9, 0xb6, 0x2d, 0xf7, 0x61, 0xd7, 0xd8, 0x69, 0xeb, 0xf9, 0x6b, - 0x87, 0xdd, 0xa8, 0xa2, 0x70, 0xe8, 0xbd, 0xd8, 0xe5, 0xb0, 0xd3, 0x0a, 0x31, 0x88, 0x11, 0xaf, - 0x6a, 0x1c, 0xcd, 0x4d, 0x81, 0x4e, 0x80, 0x3c, 0x80, 0x91, 0x2a, 0x1d, 0x62, 0x8d, 0x36, 0x88, - 0xbd, 0xfc, 0xcf, 0x7d, 0x38, 0x2a, 0x9d, 0x29, 0xce, 0x42, 0x70, 0x66, 0xd2, 0x06, 0x8c, 0xa4, - 0x77, 0x60, 0x40, 0x0e, 0x45, 0x4f, 0xee, 0xc2, 0xd6, 0xb4, 0xc5, 0x4a, 0x64, 0xec, 0x45, 0xab, - 0x46, 0x69, 0x13, 0x16, 0xa2, 0xcf, 0x78, 0x45, 0xaa, 0x10, 0x03, 0x79, 0x08, 0x7b, 0x5d, 0x3e, - 0x5e, 0x30, 0xb0, 0xc5, 0x91, 0x1b, 0xba, 0x41, 0x27, 0x86, 0xf2, 0x11, 0x48, 0x4d, 0xd6, 0xa2, - 0x66, 0xbe, 0xe7, 0xcb, 0xdd, 0xdb, 0xf2, 0x18, 0x0e, 0x6f, 0xe1, 0xd4, 0xda, 0x20, 0x76, 0xe4, - 0x53, 0x78, 0xb4, 0x3e, 0xdc, 0x6b, 0x32, 0x36, 0xa0, 0xbb, 0x0a, 0xca, 0x05, 0xb1, 0x2b, 0x9f, - 0xc0, 0xc9, 0x3d, 0xdb, 0x67, 0xb6, 0x10, 0x23, 0x4e, 0x49, 0xe3, 0xe8, 0xcd, 0xe2, 0x25, 0x59, - 0x8d, 0x02, 0xf8, 0xbb, 0x52, 0x3e, 0x9c, 0x45, 0xd7, 0x62, 0x8f, 0xd9, 0xd8, 0x68, 0xda, 0xe7, - 0xbf, 0x0e, 0x55, 0xb1, 0x10, 0x07, 0x91, 0xc0, 0x35, 0xea, 0x59, 0xc3, 0xae, 0xc6, 0x15, 0xe9, - 0x99, 0x78, 0x90, 0xbf, 0x82, 0x07, 0xeb, 0x20, 0x31, 0x0d, 0x31, 0xf7, 0x2a, 0x18, 0x2d, 0x7a, - 0x9c, 0xdd, 0x62, 0x61, 0x55, 0x6d, 0xb4, 0xc8, 0x62, 0x12, 0xdb, 0x40, 0xb5, 0x0a, 0x58, 0x88, - 0xbe, 0x7c, 0x08, 0x47, 0xcb, 0x0c, 0x9f, 0xad, 0x72, 0x3b, 0xc8, 0x7f, 0x03, 0x27, 0xf1, 0xea, - 0xbf, 0x24, 0x63, 0xc7, 0x8b, 0x46, 0x79, 0xff, 0x02, 0xe7, 0x58, 0xb1, 0x5b, 0x5d, 0x91, 0x47, - 0xd6, 0x84, 0x80, 0xfd, 0x06, 0x5d, 0x6d, 0x3c, 0x5f, 0x22, 0x16, 0x49, 0x19, 0x35, 0xd6, 0x13, - 0x74, 0xa2, 0x9f, 0xff, 0x1a, 0x0e, 0x56, 0x1e, 0x96, 0x8c, 0x8c, 0x9d, 0x9b, 0x80, 0x89, 0x91, - 0xc3, 0x3f, 0xb4, 0xe8, 0x43, 0xda, 0x55, 0x18, 0x87, 0x9a, 0xf5, 0xc4, 0x37, 0xc0, 0x39, 0x11, - 0x83, 0xfc, 0x39, 0x48, 0x87, 0xa5, 0xf1, 0xc1, 0xc5, 0x53, 0x5d, 0x05, 0x15, 0x5a, 0xdf, 0x29, - 0xa2, 0xe9, 0x28, 0xec, 0xc3, 0xae, 0x6a, 0x98, 0xff, 0x32, 0x7c, 0x81, 0xd6, 0xc4, 0x73, 0xc5, - 0x08, 0x73, 0x9a, 0x61, 0x21, 0x06, 0xf9, 0x67, 0x30, 0x54, 0xf5, 0xc4, 0x04, 0xbe, 0x7b, 0x4b, - 0x96, 0x19, 0x8c, 0x60, 0x78, 0xa3, 0x42, 0xd4, 0x33, 0x0b, 0x42, 0x59, 0xde, 0xb4, 0x03, 0x03, - 0x65, 0x58, 0xc9, 0x23, 0x18, 0xfa, 0x46, 0x69, 0x4c, 0x9a, 0xe0, 0xc4, 0x56, 0x62, 0x98, 0x23, - 0x80, 0x53, 0xa6, 0xe8, 0x98, 0x1c, 0xc0, 0xc8, 0x58, 0x13, 0x4c, 0x4c, 0x64, 0x3c, 0x12, 0xd9, - 0x92, 0x8c, 0x2d, 0x45, 0x5f, 0x9e, 0x80, 0x50, 0x21, 0x28, 0x3d, 0x43, 0xf7, 0x0c, 0xa7, 0x18, - 0x97, 0x64, 0x52, 0xc2, 0x83, 0xb8, 0xbf, 0xd5, 0x1a, 0xbd, 0x9f, 0xb6, 0x95, 0x18, 0xc8, 0x23, - 0x38, 0x28, 0xb0, 0x36, 0x95, 0x09, 0xca, 0x99, 0x3f, 0x62, 0x21, 0xb6, 0xf2, 0x1f, 0xc3, 0x7e, - 0xaa, 0xaf, 0x2e, 0x10, 0xc0, 0xb6, 0xd2, 0xc1, 0xcc, 0x31, 0x1d, 0x58, 0x53, 0xdd, 0x54, 0x18, - 0x50, 0x64, 0xf9, 0x07, 0xb0, 0x17, 0x2b, 0x65, 0xcd, 0x28, 0xe5, 0x89, 0xf5, 0x13, 0x0b, 0x40, - 0xdd, 0xa8, 0x85, 0xc8, 0xf2, 0xbf, 0x66, 0x70, 0x9c, 0x94, 0xbe, 0x59, 0x2b, 0x00, 0xdb, 0xd7, - 0xa8, 0xaa, 0x70, 0x9d, 0x2a, 0xdc, 0x47, 0x37, 0x22, 0x63, 0x8d, 0x4d, 0x58, 0x59, 0x51, 0xc3, - 0xe3, 0xd8, 0x02, 0xa2, 0x52, 0xd6, 0xe0, 0x2b, 0x87, 0x17, 0xc6, 0xa2, 0x18, 0xc8, 0xc7, 0x70, - 0xbc, 0x01, 0x5f, 0xe2, 0x94, 0x0d, 0x5b, 0x2c, 0x7c, 0xee, 0x2a, 0xa8, 0x03, 0x16, 0x57, 0x31, - 0xf8, 0x73, 0x5b, 0xe0, 0x1b, 0x31, 0x64, 0x9e, 0x61, 0xd1, 0x60, 0xaa, 0x9e, 0xed, 0xfc, 0xdf, - 0x03, 0x38, 0x4e, 0x07, 0xde, 0x64, 0x77, 0x0c, 0x87, 0x09, 0x56, 0x6e, 0x71, 0x75, 0x6d, 0x30, - 0x36, 0xa2, 0xef, 0xc1, 0x43, 0x87, 0x8d, 0x32, 0xee, 0x25, 0x86, 0x1b, 0x72, 0xb3, 0xdf, 0xb6, - 0xca, 0x06, 0x2e, 0xcd, 0x4c, 0x7e, 0x1f, 0x1e, 0x17, 0x38, 0x45, 0xeb, 0xcd, 0x1c, 0xcf, 0x95, - 0xb5, 0x64, 0x57, 0xc6, 0xbe, 0xcc, 0xe1, 0x03, 0x4d, 0xe4, 0x0a, 0x63, 0xf9, 0x32, 0xbe, 0xa8, - 0x68, 0xa2, 0xaa, 0xe4, 0xf4, 0xae, 0xa3, 0x81, 0xfc, 0x19, 0xfc, 0xb4, 0xa2, 0x9b, 0x57, 0x6e, - 0x62, 0xc2, 0x58, 0x55, 0x95, 0xf1, 0xc1, 0x68, 0xff, 0x9c, 0x0b, 0x57, 0x63, 0x13, 0xe8, 0x5e, - 0xe8, 0x2d, 0xf9, 0x31, 0xfc, 0x52, 0x15, 0x73, 0x65, 0x35, 0x16, 0x2f, 0xbe, 0xcb, 0xce, 0xa1, - 0xfc, 0x15, 0x7c, 0xfc, 0xff, 0xc4, 0xea, 0x34, 0x73, 0xa9, 0x02, 0xbe, 0x6c, 0x6b, 0x74, 0x8a, - 0x3b, 0xee, 0xb6, 0xfc, 0x14, 0x3e, 0xf9, 0x8e, 0xbb, 0x9f, 0xa1, 0xa5, 0x9a, 0x93, 0x40, 0x4e, - 0xec, 0xc8, 0xf7, 0xe0, 0x07, 0xc4, 0x9b, 0x55, 0xf5, 0xa5, 0xaa, 0x6b, 0x63, 0xcb, 0x4e, 0x3d, - 0x2b, 0x82, 0xbb, 0xf2, 0x27, 0xf0, 0xfe, 0xf2, 0x68, 0xaf, 0xfe, 0xe7, 0xd2, 0x11, 0xeb, 0x7b, - 0x2d, 0x85, 0x4b, 0x65, 0x0a, 0x01, 0xf9, 0x27, 0x20, 0x02, 0xea, 0xeb, 0x6f, 0x50, 0x35, 0x64, - 0xaf, 0x16, 0x3e, 0x60, 0xcd, 0x9a, 0x6f, 0x9c, 0xa9, 0x95, 0x5b, 0x24, 0x58, 0xf4, 0xf8, 0xae, - 0x3d, 0x6a, 0xb2, 0xc5, 0x1a, 0xcc, 0xf2, 0x31, 0x1c, 0xad, 0xf7, 0x9e, 0x93, 0x0d, 0x8e, 0x2a, - 0x5e, 0x69, 0x69, 0x03, 0x4a, 0xe2, 0x2d, 0x5b, 0x53, 0xc4, 0x2a, 0xdb, 0x87, 0xdd, 0xd6, 0x76, - 0x5f, 0xfd, 0xbc, 0x05, 0xc9, 0x3e, 0xce, 0x62, 0x01, 0xa5, 0x6d, 0x6e, 0xc1, 0xf5, 0x69, 0x69, - 0x13, 0x13, 0x3d, 0xe6, 0x9f, 0xf6, 0xad, 0xb0, 0x8c, 0x57, 0x2e, 0xbd, 0xad, 0xd0, 0x7e, 0x6c, - 0xa2, 0xb1, 0xbe, 0x2f, 0x5b, 0x2b, 0x06, 0xdc, 0x09, 0x3d, 0x56, 0xd3, 0x67, 0xd8, 0x8d, 0xbb, - 0xad, 0xfc, 0x4f, 0x19, 0x1c, 0x73, 0xdc, 0xd7, 0xca, 0xfb, 0xdb, 0x81, 0x1f, 0xc2, 0x91, 0xa5, - 0x3b, 0xa0, 0xe8, 0x71, 0x46, 0x34, 0x57, 0x03, 0xba, 0xb3, 0xe8, 0x56, 0x64, 0x5c, 0x57, 0x3e, - 0x38, 0xb2, 0xe5, 0xf9, 0x86, 0xa1, 0xcf, 0x15, 0xb0, 0xbc, 0x90, 0x4d, 0xd3, 0x60, 0x39, 0x41, - 0x2e, 0xd1, 0x93, 0x63, 0x16, 0xff, 0xc8, 0x52, 0xf6, 0xbf, 0xb6, 0x26, 0x3c, 0x8b, 0xa5, 0x81, - 0x9e, 0x4f, 0x69, 0xe9, 0x36, 0x22, 0x7a, 0x4c, 0x6b, 0x55, 0x3a, 0x17, 0xca, 0x62, 0x3b, 0x8f, - 0x9d, 0xf1, 0x08, 0x0e, 0xbc, 0x29, 0xed, 0xea, 0xca, 0x45, 0x3f, 0x36, 0x23, 0x57, 0x53, 0xcb, - 0x5d, 0xf2, 0x09, 0x9c, 0x18, 0x9b, 0x5a, 0xf7, 0x39, 0xd5, 0x13, 0x15, 0x2e, 0xa8, 0x68, 0x2b, - 0xae, 0xfd, 0x38, 0x59, 0x63, 0x67, 0xb9, 0xa0, 0x02, 0xc5, 0x90, 0xd3, 0xd8, 0xa0, 0x33, 0x35, - 0x06, 0x74, 0x9f, 0xa3, 0xd5, 0xec, 0x2c, 0x0e, 0x53, 0x87, 0xc6, 0x4e, 0xc9, 0x69, 0x2c, 0xbe, - 0x51, 0x55, 0xe5, 0xc5, 0x4e, 0xfe, 0xf7, 0x0c, 0x1e, 0x31, 0xe9, 0xd8, 0x4b, 0x3c, 0xba, 0x39, - 0xae, 0xa8, 0x3f, 0x81, 0x13, 0x4b, 0xf7, 0x71, 0xd1, 0x93, 0xef, 0xc3, 0x7b, 0xb7, 0xca, 0xbb, - 0xb3, 0x5f, 0xa2, 0x6f, 0xc8, 0x7a, 0xfc, 0xca, 0xc5, 0x4e, 0x2c, 0x32, 0x76, 0xe0, 0x54, 0x63, - 0x8a, 0xa5, 0xe5, 0xb5, 0xd2, 0x33, 0x55, 0xa2, 0xe8, 0x73, 0x56, 0x52, 0x93, 0xbd, 0xd2, 0xca, - 0x5a, 0xa6, 0x37, 0xe0, 0xac, 0xd4, 0x64, 0x4d, 0x20, 0xb7, 0x96, 0xbb, 0xd8, 0x8a, 0x6d, 0xd6, - 0xe1, 0xb8, 0xb5, 0xec, 0x73, 0x98, 0xd7, 0xf0, 0x30, 0xde, 0xf4, 0xb2, 0x55, 0xad, 0xd8, 0x3e, - 0x02, 0x69, 0xe9, 0x2e, 0x9c, 0xb4, 0x7e, 0xa7, 0x4f, 0x89, 0x4c, 0xfe, 0x08, 0x7e, 0x78, 0xaf, - 0x92, 0xef, 0x17, 0xb2, 0xe8, 0xe7, 0x5f, 0xa7, 0x70, 0x57, 0x81, 0x9c, 0x2a, 0xf1, 0x73, 0xa5, - 0x79, 0x76, 0x18, 0xf4, 0x2c, 0x18, 0x4b, 0xf7, 0xe0, 0x34, 0x07, 0x0a, 0x8a, 0x9a, 0xe2, 0x7e, - 0xaf, 0x6c, 0xc9, 0xf3, 0x99, 0x4f, 0x11, 0x67, 0xc7, 0x58, 0x79, 0x14, 0x83, 0xfc, 0xd3, 0x4e, - 0xaf, 0x4b, 0xba, 0x17, 0x86, 0x93, 0xd0, 0xe9, 0x75, 0x13, 0x4c, 0xa3, 0x9f, 0xe2, 0x04, 0x30, - 0xb6, 0xbc, 0x34, 0xa5, 0xc8, 0xf2, 0x73, 0x78, 0xbc, 0xb1, 0x3f, 0x8d, 0x01, 0xb7, 0x22, 0x76, - 0xd7, 0xc0, 0xaa, 0x3f, 0x84, 0x3d, 0x5a, 0x0e, 0x0c, 0x2e, 0xb6, 0xdc, 0x74, 0x24, 0xf8, 0x0d, - 0xf6, 0x05, 0x5a, 0x4c, 0x93, 0xbf, 0x23, 0xb1, 0x09, 0xa6, 0x72, 0xf5, 0xb5, 0xaa, 0xaa, 0x0e, - 0x24, 0x97, 0x26, 0x57, 0x8d, 0x85, 0x69, 0xeb, 0x35, 0x18, 0xef, 0xb6, 0x52, 0xae, 0xc4, 0x35, - 0xc6, 0xaf, 0x8b, 0x93, 0xd5, 0xbb, 0x27, 0x36, 0xc7, 0xd7, 0x54, 0x19, 0xbd, 0xe0, 0x12, 0xa2, - 0x06, 0xed, 0x85, 0x72, 0x33, 0x0c, 0x89, 0x63, 0x7c, 0xc6, 0x74, 0x40, 0xc6, 0x47, 0x4f, 0x2f, - 0xa0, 0x0e, 0xe9, 0x8f, 0x7f, 0xfe, 0xcf, 0xb7, 0xa7, 0xd9, 0xb7, 0x6f, 0x4f, 0xb3, 0xff, 0xbc, - 0x3d, 0xcd, 0xfe, 0xf2, 0xee, 0xb4, 0xf7, 0xed, 0xbb, 0xd3, 0xde, 0xbf, 0xde, 0x9d, 0xf6, 0x7e, - 0xf7, 0x78, 0xf9, 0x14, 0x7f, 0xb3, 0x7a, 0x94, 0xf3, 0xe0, 0xf3, 0x93, 0xed, 0xf8, 0xde, 0xfe, - 0xc5, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x51, 0x1e, 0x7e, 0xdf, 0xb4, 0x0b, 0x00, 0x00, + // 1530 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xcf, 0x6f, 0x24, 0x39, + 0x15, 0xee, 0xea, 0x4e, 0xe7, 0xc7, 0x4b, 0x32, 0x71, 0x9c, 0xcc, 0x0f, 0x06, 0x11, 0x69, 0x85, + 0x76, 0x81, 0x12, 0xda, 0x05, 0xc1, 0x61, 0xb5, 0x42, 0x0b, 0xe9, 0xcc, 0xee, 0x6a, 0x56, 0x93, + 0x99, 0xa1, 0xb3, 0xab, 0x95, 0xb8, 0xb9, 0x5d, 0xaf, 0x2b, 0xa6, 0xab, 0xfc, 0x0a, 0xdb, 0xd5, + 0x99, 0x46, 0xdc, 0xb8, 0x70, 0xe4, 0xce, 0x9f, 0x80, 0xb8, 0xf0, 0x57, 0x70, 0xdc, 0x23, 0xe2, + 0x84, 0x66, 0xfe, 0x11, 0xf4, 0xec, 0xea, 0xee, 0xe9, 0x44, 0x42, 0x3b, 0xa7, 0xee, 0xfa, 0x6c, + 0x3f, 0x7f, 0x7e, 0xfe, 0xbe, 0xf7, 0x0c, 0x8f, 0x7d, 0x70, 0xad, 0x0e, 0xfe, 0xa3, 0xe5, 0xef, + 0x0c, 0x17, 0xfe, 0xc3, 0xc6, 0x51, 0x20, 0x79, 0xd4, 0x61, 0x1f, 0x76, 0xbf, 0x8f, 0x4f, 0x4b, + 0x2a, 0x29, 0x8e, 0x7d, 0xc4, 0xff, 0xd2, 0xb4, 0xfc, 0xef, 0x19, 0x00, 0x4d, 0x7e, 0x8f, 0x3a, + 0x7c, 0xb5, 0x68, 0x50, 0xee, 0xc1, 0xb0, 0x6c, 0x4d, 0x55, 0x88, 0x9e, 0x04, 0xd8, 0x6e, 0x2a, + 0xb5, 0x40, 0x27, 0xb2, 0xee, 0xbf, 0xc5, 0x20, 0xfa, 0x72, 0x1f, 0x76, 0x1c, 0x2a, 0x1d, 0xc8, + 0x89, 0x81, 0xbc, 0x07, 0xe0, 0xdb, 0x89, 0x0f, 0x2a, 0x18, 0xb2, 0x62, 0x8b, 0x27, 0xa6, 0xfd, + 0xc4, 0x90, 0xc7, 0x54, 0x55, 0x91, 0x4e, 0x63, 0xdb, 0xf2, 0x00, 0x76, 0x8d, 0x9d, 0xb6, 0x9e, + 0xbf, 0x76, 0x38, 0x8c, 0x2a, 0x0a, 0x87, 0xde, 0x8b, 0x5d, 0xde, 0x76, 0x5a, 0x21, 0x06, 0xb1, + 0xc7, 0xb3, 0x1a, 0x47, 0x73, 0x53, 0xa0, 0x13, 0x20, 0x0f, 0x61, 0x4f, 0x95, 0x0e, 0xb1, 0x46, + 0x1b, 0xc4, 0x7e, 0xfe, 0x97, 0x3e, 0x1c, 0x97, 0xce, 0x14, 0xe7, 0x21, 0x38, 0x33, 0x69, 0x03, + 0x46, 0xd2, 0x3b, 0x30, 0x20, 0x87, 0xa2, 0x27, 0x77, 0x61, 0x6b, 0xda, 0x62, 0x25, 0x32, 0x8e, + 0xa2, 0x55, 0xa3, 0xb4, 0x09, 0x0b, 0xd1, 0x67, 0xbc, 0x22, 0x55, 0x88, 0x81, 0x3c, 0x82, 0xfd, + 0x2e, 0x1f, 0xcf, 0x18, 0xd8, 0xe2, 0x9d, 0x1b, 0xba, 0x41, 0x27, 0x86, 0xf2, 0x01, 0x48, 0x4d, + 0xd6, 0xa2, 0x66, 0xbe, 0x17, 0xcb, 0xd5, 0xdb, 0xf2, 0x04, 0x8e, 0xde, 0xc2, 0xa9, 0xb5, 0x41, + 0xec, 0xc8, 0xc7, 0xf0, 0x60, 0x7d, 0xb8, 0x97, 0x64, 0x6c, 0x40, 0x77, 0x15, 0x94, 0x0b, 0x62, + 0x57, 0x3e, 0x82, 0xd3, 0x3b, 0x63, 0x9f, 0xd9, 0x42, 0xec, 0x71, 0x4a, 0x1a, 0x47, 0xaf, 0x16, + 0xcf, 0xc9, 0x6a, 0x14, 0xc0, 0xdf, 0x95, 0xf2, 0xe1, 0x3c, 0x86, 0x16, 0xfb, 0xcc, 0xc6, 0xc6, + 0xa1, 0x03, 0xfe, 0xeb, 0x50, 0x15, 0x0b, 0x71, 0x18, 0x09, 0x5c, 0xa3, 0x9e, 0x35, 0x1c, 0x6a, + 0x54, 0x91, 0x9e, 0x89, 0x7b, 0xf9, 0x0b, 0xb8, 0xb7, 0xde, 0x24, 0xa6, 0x21, 0xe6, 0x5e, 0x05, + 0xa3, 0x45, 0x8f, 0xb3, 0x5b, 0x2c, 0xac, 0xaa, 0x8d, 0x16, 0x59, 0x4c, 0x62, 0x1b, 0xa8, 0x56, + 0x01, 0x0b, 0xd1, 0x97, 0xf7, 0xe1, 0x78, 0x99, 0xe1, 0xf3, 0x55, 0x6e, 0x07, 0xf9, 0x6f, 0xe0, + 0x34, 0x5e, 0xfd, 0x97, 0x64, 0xec, 0x68, 0xd1, 0x28, 0xef, 0x9f, 0xe1, 0x1c, 0x2b, 0x0e, 0xab, + 0x2b, 0xf2, 0xc8, 0x9a, 0x10, 0x70, 0xd0, 0xa0, 0xab, 0x8d, 0xe7, 0x4b, 0xc4, 0x22, 0x29, 0xa3, + 0xc6, 0x7a, 0x82, 0x4e, 0xf4, 0xf3, 0x5f, 0xc3, 0xe1, 0x2a, 0xc2, 0x92, 0x91, 0xb1, 0x73, 0x13, + 0x30, 0x31, 0x72, 0xf8, 0x87, 0x16, 0x7d, 0x48, 0xab, 0x0a, 0xe3, 0x50, 0xb3, 0x9e, 0xf8, 0x06, + 0x38, 0x27, 0x62, 0x90, 0x3f, 0x05, 0xe9, 0xb0, 0x34, 0x3e, 0xb8, 0x78, 0xaa, 0xab, 0xa0, 0x42, + 0xeb, 0x3b, 0x45, 0x34, 0x1d, 0x85, 0x03, 0xd8, 0x55, 0x0d, 0xf3, 0x5f, 0x6e, 0x5f, 0xa0, 0x35, + 0xf1, 0x5c, 0x71, 0x87, 0x39, 0xcd, 0xb0, 0x10, 0x83, 0xfc, 0x33, 0x18, 0xaa, 0x7a, 0x62, 0x02, + 0xdf, 0xbd, 0x25, 0xcb, 0x0c, 0xf6, 0x60, 0x78, 0xa3, 0x42, 0xd4, 0x33, 0x0b, 0x42, 0x59, 0x5e, + 0xb4, 0x03, 0x03, 0x65, 0x58, 0xc9, 0x7b, 0x30, 0xf4, 0x8d, 0xd2, 0x98, 0x34, 0xc1, 0x89, 0xad, + 0xc4, 0x30, 0xff, 0x13, 0x80, 0x53, 0xa6, 0xe8, 0x98, 0x1c, 0xc2, 0x9e, 0xb1, 0x26, 0x98, 0x98, + 0xc8, 0x78, 0x24, 0xb2, 0x25, 0x19, 0x5b, 0x8a, 0xbe, 0x3c, 0x05, 0xa1, 0x42, 0x50, 0x7a, 0x86, + 0xee, 0x09, 0x4e, 0x31, 0x4e, 0xc9, 0x38, 0xd7, 0x4b, 0x74, 0x8c, 0xc1, 0x25, 0x78, 0x28, 0x25, + 0xdc, 0x8b, 0x61, 0x5b, 0xad, 0xd1, 0xfb, 0x69, 0x5b, 0x89, 0x81, 0x3c, 0x86, 0xc3, 0x02, 0x6b, + 0x53, 0x99, 0xa0, 0x9c, 0xf9, 0x23, 0x16, 0x62, 0x2b, 0xff, 0x31, 0x1c, 0x24, 0xdb, 0x75, 0xfb, + 0x03, 0x6c, 0x2b, 0x1d, 0xcc, 0x1c, 0x53, 0x1e, 0x34, 0xd5, 0x4d, 0x85, 0x01, 0x45, 0x96, 0x7f, + 0x00, 0xfb, 0xd1, 0x40, 0x6b, 0xa2, 0x29, 0x7d, 0x2c, 0xab, 0xe8, 0x0b, 0x75, 0xa3, 0x16, 0x22, + 0xcb, 0xff, 0x96, 0xc1, 0x49, 0x32, 0xc0, 0xa6, 0x85, 0x00, 0xb6, 0xaf, 0x51, 0x55, 0xe1, 0x3a, + 0x19, 0xdf, 0xc7, 0x30, 0x22, 0x63, 0xe9, 0x4d, 0x58, 0x70, 0x51, 0xda, 0xa3, 0x58, 0x19, 0xa2, + 0x80, 0xd6, 0xe0, 0x0b, 0x87, 0x97, 0xc6, 0xa2, 0x18, 0xc8, 0x87, 0x70, 0xb2, 0x01, 0x8f, 0x71, + 0xca, 0x03, 0x5b, 0xec, 0x07, 0x2e, 0x36, 0xa8, 0x03, 0x16, 0x57, 0x71, 0xf3, 0xa7, 0xb6, 0xc0, + 0x57, 0x62, 0xc8, 0x3c, 0xc3, 0xa2, 0xc1, 0x64, 0xaa, 0xed, 0xfc, 0x3f, 0x03, 0x38, 0x49, 0x07, + 0xde, 0x64, 0x77, 0x02, 0x47, 0x09, 0x56, 0x6e, 0x71, 0x75, 0x6d, 0x30, 0xd6, 0xa7, 0xef, 0xc1, + 0x7d, 0x87, 0x8d, 0x32, 0xee, 0x39, 0x86, 0x1b, 0x72, 0xb3, 0xdf, 0xb6, 0xca, 0x06, 0x76, 0x6c, + 0x26, 0xbf, 0x0f, 0x0f, 0x0b, 0x9c, 0xa2, 0xf5, 0x66, 0x8e, 0x17, 0xca, 0x5a, 0xb2, 0xab, 0xc1, + 0xbe, 0xcc, 0xe1, 0x03, 0x4d, 0xe4, 0x0a, 0x63, 0xf9, 0x32, 0xbe, 0xa8, 0x68, 0xa2, 0xaa, 0x14, + 0xf4, 0x76, 0xa0, 0x81, 0xfc, 0x19, 0xfc, 0xb4, 0xa2, 0x9b, 0x17, 0x6e, 0x62, 0xc2, 0x48, 0x55, + 0x95, 0xf1, 0xc1, 0x68, 0xff, 0x94, 0xfd, 0xac, 0xb1, 0x09, 0x74, 0x67, 0xeb, 0x2d, 0xf9, 0x31, + 0xfc, 0x52, 0x15, 0x73, 0x65, 0x35, 0x16, 0xcf, 0xde, 0x65, 0xe5, 0x50, 0xfe, 0x0a, 0x3e, 0xfe, + 0x2e, 0x7b, 0x75, 0x9a, 0x19, 0xab, 0x80, 0xcf, 0xdb, 0x1a, 0x9d, 0xe2, 0x42, 0xbc, 0x2d, 0x3f, + 0x85, 0x4f, 0xde, 0x71, 0xf5, 0x13, 0xb4, 0x54, 0x73, 0x12, 0xc8, 0x89, 0x1d, 0xf9, 0x1e, 0xfc, + 0x80, 0x78, 0xb1, 0xaa, 0xbe, 0x54, 0x75, 0x6d, 0x6c, 0xd9, 0xa9, 0x67, 0x45, 0x70, 0x57, 0xfe, + 0x04, 0xde, 0x5f, 0x1e, 0xed, 0xc5, 0xff, 0x9d, 0xba, 0xc7, 0xfa, 0x5e, 0x4b, 0x61, 0xac, 0x4c, + 0x21, 0x20, 0xff, 0x04, 0x44, 0x40, 0x7d, 0xfd, 0x0d, 0xaa, 0x86, 0xec, 0xd5, 0xc2, 0x07, 0xac, + 0x59, 0xf3, 0x8d, 0x33, 0xb5, 0x72, 0x8b, 0x04, 0x8b, 0x1e, 0xdf, 0xb5, 0x47, 0x4d, 0xb6, 0x58, + 0x83, 0x59, 0x3e, 0x82, 0xe3, 0xf5, 0xda, 0x0b, 0xb2, 0xc1, 0x51, 0xc5, 0x33, 0x2d, 0x6d, 0x40, + 0x49, 0xbc, 0x65, 0x6b, 0x8a, 0x68, 0xbe, 0x03, 0xd8, 0x6d, 0x6d, 0xf7, 0xd5, 0xcf, 0x5b, 0x90, + 0x1c, 0xe3, 0x3c, 0x1a, 0x28, 0x2d, 0x73, 0x0b, 0xb6, 0xad, 0xa5, 0x4d, 0x4c, 0xf4, 0x98, 0x7f, + 0x5a, 0xb7, 0xc2, 0x32, 0x9e, 0xb9, 0x8c, 0xb6, 0x42, 0xfb, 0xb1, 0xb6, 0x46, 0x83, 0x8f, 0x5b, + 0x2b, 0x06, 0x5c, 0x20, 0x3d, 0x56, 0xd3, 0x27, 0xd8, 0x75, 0xc1, 0xad, 0xfc, 0xcf, 0x19, 0x9c, + 0xf0, 0xbe, 0x2f, 0x95, 0xf7, 0x6f, 0x6f, 0x7c, 0x1f, 0x8e, 0x2d, 0xdd, 0x02, 0x45, 0x8f, 0x33, + 0xa2, 0xd9, 0x0d, 0xe8, 0xce, 0x63, 0x58, 0x91, 0xb1, 0xaf, 0x7c, 0x70, 0x64, 0xcb, 0x8b, 0x8d, + 0x81, 0x3e, 0x3b, 0x60, 0x79, 0x21, 0x9b, 0x43, 0x83, 0x65, 0x63, 0x19, 0xa3, 0x27, 0xc7, 0x2c, + 0xfe, 0x99, 0xa5, 0xec, 0x7f, 0x6d, 0x4d, 0x78, 0x12, 0xad, 0x81, 0x9e, 0x4f, 0x69, 0xe9, 0x6d, + 0x44, 0xf4, 0x98, 0xd6, 0xca, 0x3a, 0x97, 0xca, 0x62, 0x3b, 0x8f, 0x05, 0xf3, 0x18, 0x0e, 0xbd, + 0x29, 0xed, 0xea, 0xca, 0x45, 0x3f, 0x16, 0x23, 0x57, 0x53, 0xcb, 0xc5, 0xf3, 0x11, 0x9c, 0x1a, + 0x9b, 0x2a, 0xfa, 0x05, 0xd5, 0x13, 0x15, 0x2e, 0xa9, 0x68, 0x2b, 0xf6, 0x7e, 0x6c, 0xb8, 0xb1, + 0xb2, 0x5c, 0x52, 0x81, 0x62, 0xc8, 0x69, 0x6c, 0xd0, 0x99, 0x1a, 0x03, 0xba, 0xcf, 0xd1, 0x6a, + 0x0e, 0x16, 0x7b, 0xac, 0x43, 0x63, 0xa7, 0xe4, 0x34, 0x16, 0xdf, 0xa8, 0xaa, 0xf2, 0x62, 0x27, + 0xff, 0x47, 0x06, 0x0f, 0x98, 0x74, 0xac, 0x25, 0x1e, 0xdd, 0x1c, 0x57, 0xd4, 0x1f, 0xc1, 0xa9, + 0xa5, 0xbb, 0xb8, 0xe8, 0xc9, 0xf7, 0xe1, 0xbd, 0xb7, 0xec, 0xdd, 0x8d, 0x8f, 0xd1, 0x37, 0x64, + 0x3d, 0x7e, 0xe5, 0x62, 0x29, 0x16, 0x19, 0x07, 0x70, 0xaa, 0x31, 0xc5, 0x72, 0xe4, 0xa5, 0xd2, + 0x33, 0x55, 0xa2, 0xe8, 0x73, 0x56, 0x52, 0x91, 0xbd, 0xd2, 0xca, 0x5a, 0xa6, 0x37, 0xe0, 0xac, + 0xd4, 0x64, 0x4d, 0x20, 0xb7, 0x96, 0xbb, 0xd8, 0x8a, 0x65, 0xd6, 0xe1, 0xa8, 0xb5, 0x1c, 0x73, + 0x98, 0xd7, 0x70, 0x3f, 0xde, 0xf4, 0xb2, 0x54, 0xad, 0xd8, 0x3e, 0x00, 0x69, 0xe9, 0x36, 0x9c, + 0xb4, 0x7e, 0xab, 0x4e, 0x89, 0x4c, 0xfe, 0x08, 0x7e, 0x78, 0xc7, 0xc9, 0x77, 0x8d, 0x2c, 0xfa, + 0xf9, 0xd7, 0x69, 0xbb, 0xab, 0x40, 0x4e, 0x95, 0xf8, 0xb9, 0xd2, 0xdc, 0x3b, 0x0c, 0x7a, 0x16, + 0x8c, 0xa5, 0x3b, 0x70, 0xea, 0x03, 0x05, 0x45, 0x4d, 0x71, 0xbd, 0x57, 0xb6, 0xe4, 0xb6, 0xcd, + 0xa7, 0x88, 0xbd, 0x63, 0xa4, 0x3c, 0x8a, 0x41, 0xfe, 0x69, 0xa7, 0xd7, 0x25, 0xdd, 0x4b, 0xc3, + 0x49, 0xe8, 0xf4, 0xba, 0x09, 0xa6, 0x17, 0x01, 0xc5, 0x0e, 0x60, 0x6c, 0x39, 0x36, 0xa5, 0xc8, + 0xf2, 0x0b, 0x78, 0xb8, 0xb1, 0x3e, 0xb5, 0x01, 0xb7, 0x22, 0x76, 0x7b, 0x80, 0x55, 0x7f, 0x04, + 0xfb, 0xb4, 0x6c, 0x18, 0x6c, 0xb6, 0xdc, 0x74, 0x24, 0xf8, 0x69, 0xf6, 0x05, 0x5a, 0x4c, 0x0f, + 0x82, 0x8e, 0xc4, 0x26, 0x98, 0xec, 0xea, 0x6b, 0x55, 0x55, 0x1d, 0x48, 0x2e, 0x75, 0xae, 0x1a, + 0x0b, 0xd3, 0xd6, 0x6b, 0x30, 0xde, 0x6d, 0xa5, 0x5c, 0x89, 0x6b, 0x8c, 0x1f, 0x1d, 0xa7, 0xab, + 0xe7, 0x50, 0x2c, 0x8e, 0x2f, 0xa9, 0x32, 0x7a, 0xc1, 0x16, 0xa2, 0x06, 0xed, 0xa5, 0x72, 0x33, + 0x0c, 0x89, 0x63, 0x7c, 0xdd, 0x74, 0x40, 0xc6, 0x47, 0x4f, 0x0f, 0xa3, 0x0e, 0xe9, 0x8f, 0x7e, + 0xfe, 0xaf, 0xd7, 0x67, 0xd9, 0xb7, 0xaf, 0xcf, 0xb2, 0xff, 0xbe, 0x3e, 0xcb, 0xfe, 0xfa, 0xe6, + 0xac, 0xf7, 0xed, 0x9b, 0xb3, 0xde, 0xbf, 0xdf, 0x9c, 0xf5, 0x7e, 0xf7, 0x70, 0xf9, 0x42, 0x7f, + 0xb5, 0x7a, 0xab, 0x73, 0xe3, 0xf3, 0x93, 0xed, 0xf8, 0x0c, 0xff, 0xc5, 0xff, 0x02, 0x00, 0x00, + 0xff, 0xff, 0xb2, 0x11, 0xe4, 0xdf, 0xcb, 0x0b, 0x00, 0x00, } diff --git a/x/structs/types/packet.pb.go b/x/structs/types/packet.pb.go index 472a89f..279928d 100644 --- a/x/structs/types/packet.pb.go +++ b/x/structs/types/packet.pb.go @@ -24,7 +24,6 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type StructsPacketData struct { // Types that are valid to be assigned to Packet: - // // *StructsPacketData_NoData Packet isStructsPacketData_Packet `protobuf_oneof:"packet"` } From fe47a0ac6783b5a95346c98e3e95fd8fbaead208 Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 20 Oct 2025 17:01:56 -0400 Subject: [PATCH 06/19] Resolve bug in EventGuildBankAddress format --- x/structs/keeper/guild.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/structs/keeper/guild.go b/x/structs/keeper/guild.go index a48bf9c..5dbf049 100644 --- a/x/structs/keeper/guild.go +++ b/x/structs/keeper/guild.go @@ -100,7 +100,7 @@ func (k Keeper) AppendGuild( ctxSDK := sdk.UnwrapSDKContext(ctx) _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGuild{Guild: &guild}) - _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGuildBankAddress{&types.EventGuildBankAddressDetail{GuildId: guild.Id, BankCollateralPool: string(guildCollateralAddress),BankTokenPool: types.ModuleName}}) + _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGuildBankAddress{&types.EventGuildBankAddressDetail{GuildId: guild.Id, BankCollateralPool: guildCollateralAddress.String(),BankTokenPool: types.ModuleName}}) return guild } From ad9ae1c8ea80424a1fb7f8c6ffbed299d2b16696 Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 20 Oct 2025 17:08:07 -0400 Subject: [PATCH 07/19] Resolve bug in BankAddress format logging --- x/structs/keeper/guild.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/structs/keeper/guild.go b/x/structs/keeper/guild.go index 5dbf049..482837f 100644 --- a/x/structs/keeper/guild.go +++ b/x/structs/keeper/guild.go @@ -91,7 +91,7 @@ func (k Keeper) AppendGuild( k.bankKeeper.SetDenomMetaData(ctx, guildDenomMetadata) fmt.Printf("Guild Collateral Pool: %s", types.GuildBankCollateralPool + guild.Id) - fmt.Printf("Guild Collateral Pool: %s", authtypes.NewModuleAddress(types.GuildBankCollateralPool + guild.Id)) + fmt.Printf("Guild Collateral Pool: %s", authtypes.NewModuleAddress(types.GuildBankCollateralPool + guild.Id).String()) // types.ModuleName Guild Bank Mint guildCollateralAddress := authtypes.NewModuleAddress(types.GuildBankCollateralPool + guild.Id) @@ -100,7 +100,7 @@ func (k Keeper) AppendGuild( ctxSDK := sdk.UnwrapSDKContext(ctx) _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGuild{Guild: &guild}) - _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGuildBankAddress{&types.EventGuildBankAddressDetail{GuildId: guild.Id, BankCollateralPool: guildCollateralAddress.String(),BankTokenPool: types.ModuleName}}) + _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGuildBankAddress{&types.EventGuildBankAddressDetail{GuildId: guild.Id, BankCollateralPool: guildCollateralAddress.String(), BankTokenPool: types.ModuleName}}) return guild } From ba1b9fe3b4bcdc05d18bf8e2044dc16817b9c23a Mon Sep 17 00:00:00 2001 From: abstrct Date: Mon, 20 Oct 2025 17:43:59 -0400 Subject: [PATCH 08/19] New reactor staking functionality roughed in. This allows staking delegation to be managed at the player level. --- api/structs/structs/tx.pulsar.go | 8814 +++++++++++++---- api/structs/structs/tx_grpc.pb.go | 148 + docs/static/openapi.yml | 2 +- proto/structs/structs/tx.proto | 97 + .../msg_server_reactor_begin_migration.go | 21 + .../msg_server_reactor_cancel_defusion.go | 21 + x/structs/keeper/msg_server_reactor_defuse.go | 21 + x/structs/keeper/msg_server_reactor_infuse.go | 21 + x/structs/types/tx.pb.go | 8477 ++++++++++------ 9 files changed, 12489 insertions(+), 5133 deletions(-) create mode 100644 x/structs/keeper/msg_server_reactor_begin_migration.go create mode 100644 x/structs/keeper/msg_server_reactor_cancel_defusion.go create mode 100644 x/structs/keeper/msg_server_reactor_defuse.go create mode 100644 x/structs/keeper/msg_server_reactor_infuse.go diff --git a/api/structs/structs/tx.pulsar.go b/api/structs/structs/tx.pulsar.go index ff29dfa..7b840f7 100644 --- a/api/structs/structs/tx.pulsar.go +++ b/api/structs/structs/tx.pulsar.go @@ -12,6 +12,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" io "io" reflect "reflect" sync "sync" @@ -29455,25 +29456,31 @@ func (x *fastReflection_MsgPlayerResumeResponse) ProtoMethods() *protoiface.Meth } var ( - md_MsgStructStatusResponse protoreflect.MessageDescriptor - fd_MsgStructStatusResponse_struct protoreflect.FieldDescriptor + md_MsgReactorInfuse protoreflect.MessageDescriptor + fd_MsgReactorInfuse_creator protoreflect.FieldDescriptor + fd_MsgReactorInfuse_delegator_address protoreflect.FieldDescriptor + fd_MsgReactorInfuse_validator_address protoreflect.FieldDescriptor + fd_MsgReactorInfuse_amount protoreflect.FieldDescriptor ) func init() { file_structs_structs_tx_proto_init() - md_MsgStructStatusResponse = File_structs_structs_tx_proto.Messages().ByName("MsgStructStatusResponse") - fd_MsgStructStatusResponse_struct = md_MsgStructStatusResponse.Fields().ByName("struct") + md_MsgReactorInfuse = File_structs_structs_tx_proto.Messages().ByName("MsgReactorInfuse") + fd_MsgReactorInfuse_creator = md_MsgReactorInfuse.Fields().ByName("creator") + fd_MsgReactorInfuse_delegator_address = md_MsgReactorInfuse.Fields().ByName("delegator_address") + fd_MsgReactorInfuse_validator_address = md_MsgReactorInfuse.Fields().ByName("validator_address") + fd_MsgReactorInfuse_amount = md_MsgReactorInfuse.Fields().ByName("amount") } -var _ protoreflect.Message = (*fastReflection_MsgStructStatusResponse)(nil) +var _ protoreflect.Message = (*fastReflection_MsgReactorInfuse)(nil) -type fastReflection_MsgStructStatusResponse MsgStructStatusResponse +type fastReflection_MsgReactorInfuse MsgReactorInfuse -func (x *MsgStructStatusResponse) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgStructStatusResponse)(x) +func (x *MsgReactorInfuse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorInfuse)(x) } -func (x *MsgStructStatusResponse) slowProtoReflect() protoreflect.Message { +func (x *MsgReactorInfuse) slowProtoReflect() protoreflect.Message { mi := &file_structs_structs_tx_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29485,43 +29492,43 @@ func (x *MsgStructStatusResponse) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgStructStatusResponse_messageType fastReflection_MsgStructStatusResponse_messageType -var _ protoreflect.MessageType = fastReflection_MsgStructStatusResponse_messageType{} +var _fastReflection_MsgReactorInfuse_messageType fastReflection_MsgReactorInfuse_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorInfuse_messageType{} -type fastReflection_MsgStructStatusResponse_messageType struct{} +type fastReflection_MsgReactorInfuse_messageType struct{} -func (x fastReflection_MsgStructStatusResponse_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgStructStatusResponse)(nil) +func (x fastReflection_MsgReactorInfuse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorInfuse)(nil) } -func (x fastReflection_MsgStructStatusResponse_messageType) New() protoreflect.Message { - return new(fastReflection_MsgStructStatusResponse) +func (x fastReflection_MsgReactorInfuse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorInfuse) } -func (x fastReflection_MsgStructStatusResponse_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgStructStatusResponse +func (x fastReflection_MsgReactorInfuse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorInfuse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgStructStatusResponse) Descriptor() protoreflect.MessageDescriptor { - return md_MsgStructStatusResponse +func (x *fastReflection_MsgReactorInfuse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorInfuse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgStructStatusResponse) Type() protoreflect.MessageType { - return _fastReflection_MsgStructStatusResponse_messageType +func (x *fastReflection_MsgReactorInfuse) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorInfuse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgStructStatusResponse) New() protoreflect.Message { - return new(fastReflection_MsgStructStatusResponse) +func (x *fastReflection_MsgReactorInfuse) New() protoreflect.Message { + return new(fastReflection_MsgReactorInfuse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgStructStatusResponse) Interface() protoreflect.ProtoMessage { - return (*MsgStructStatusResponse)(x) +func (x *fastReflection_MsgReactorInfuse) Interface() protoreflect.ProtoMessage { + return (*MsgReactorInfuse)(x) } // Range iterates over every populated field in an undefined order, @@ -29529,10 +29536,28 @@ func (x *fastReflection_MsgStructStatusResponse) Interface() protoreflect.ProtoM // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgStructStatusResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Struct != nil { - value := protoreflect.ValueOfMessage(x.Struct.ProtoReflect()) - if !f(fd_MsgStructStatusResponse_struct, value) { +func (x *fastReflection_MsgReactorInfuse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgReactorInfuse_creator, value) { + return + } + } + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgReactorInfuse_delegator_address, value) { + return + } + } + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgReactorInfuse_validator_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgReactorInfuse_amount, value) { return } } @@ -29549,15 +29574,21 @@ func (x *fastReflection_MsgStructStatusResponse) Range(f func(protoreflect.Field // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgStructStatusResponse) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgReactorInfuse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "structs.structs.MsgStructStatusResponse.struct": - return x.Struct != nil + case "structs.structs.MsgReactorInfuse.creator": + return x.Creator != "" + case "structs.structs.MsgReactorInfuse.delegator_address": + return x.DelegatorAddress != "" + case "structs.structs.MsgReactorInfuse.validator_address": + return x.ValidatorAddress != "" + case "structs.structs.MsgReactorInfuse.amount": + return x.Amount != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuse")) } - panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuse does not contain field %s", fd.FullName())) } } @@ -29567,15 +29598,21 @@ func (x *fastReflection_MsgStructStatusResponse) Has(fd protoreflect.FieldDescri // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructStatusResponse) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgReactorInfuse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "structs.structs.MsgStructStatusResponse.struct": - x.Struct = nil + case "structs.structs.MsgReactorInfuse.creator": + x.Creator = "" + case "structs.structs.MsgReactorInfuse.delegator_address": + x.DelegatorAddress = "" + case "structs.structs.MsgReactorInfuse.validator_address": + x.ValidatorAddress = "" + case "structs.structs.MsgReactorInfuse.amount": + x.Amount = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuse")) } - panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuse does not contain field %s", fd.FullName())) } } @@ -29585,16 +29622,25 @@ func (x *fastReflection_MsgStructStatusResponse) Clear(fd protoreflect.FieldDesc // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgStructStatusResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgReactorInfuse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "structs.structs.MsgStructStatusResponse.struct": - value := x.Struct + case "structs.structs.MsgReactorInfuse.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorInfuse.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorInfuse.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorInfuse.amount": + value := x.Amount return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuse")) } - panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuse does not contain field %s", descriptor.FullName())) } } @@ -29608,15 +29654,21 @@ func (x *fastReflection_MsgStructStatusResponse) Get(descriptor protoreflect.Fie // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructStatusResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgReactorInfuse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "structs.structs.MsgStructStatusResponse.struct": - x.Struct = value.Message().Interface().(*Struct) + case "structs.structs.MsgReactorInfuse.creator": + x.Creator = value.Interface().(string) + case "structs.structs.MsgReactorInfuse.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorInfuse.validator_address": + x.ValidatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorInfuse.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuse")) } - panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuse does not contain field %s", fd.FullName())) } } @@ -29630,44 +29682,56 @@ func (x *fastReflection_MsgStructStatusResponse) Set(fd protoreflect.FieldDescri // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructStatusResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgReactorInfuse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "structs.structs.MsgStructStatusResponse.struct": - if x.Struct == nil { - x.Struct = new(Struct) + case "structs.structs.MsgReactorInfuse.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) } - return protoreflect.ValueOfMessage(x.Struct.ProtoReflect()) + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "structs.structs.MsgReactorInfuse.creator": + panic(fmt.Errorf("field creator of message structs.structs.MsgReactorInfuse is not mutable")) + case "structs.structs.MsgReactorInfuse.delegator_address": + panic(fmt.Errorf("field delegator_address of message structs.structs.MsgReactorInfuse is not mutable")) + case "structs.structs.MsgReactorInfuse.validator_address": + panic(fmt.Errorf("field validator_address of message structs.structs.MsgReactorInfuse is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuse")) } - panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgStructStatusResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgReactorInfuse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "structs.structs.MsgStructStatusResponse.struct": - m := new(Struct) + case "structs.structs.MsgReactorInfuse.creator": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorInfuse.delegator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorInfuse.validator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorInfuse.amount": + m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuse")) } - panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgStructStatusResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgReactorInfuse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgStructStatusResponse", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorInfuse", d.FullName())) } panic("unreachable") } @@ -29675,7 +29739,7 @@ func (x *fastReflection_MsgStructStatusResponse) WhichOneof(d protoreflect.Oneof // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgStructStatusResponse) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgReactorInfuse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -29686,7 +29750,7 @@ func (x *fastReflection_MsgStructStatusResponse) GetUnknown() protoreflect.RawFi // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructStatusResponse) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgReactorInfuse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -29698,7 +29762,7 @@ func (x *fastReflection_MsgStructStatusResponse) SetUnknown(fields protoreflect. // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgStructStatusResponse) IsValid() bool { +func (x *fastReflection_MsgReactorInfuse) IsValid() bool { return x != nil } @@ -29708,9 +29772,9 @@ func (x *fastReflection_MsgStructStatusResponse) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgReactorInfuse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgStructStatusResponse) + x := input.Message.Interface().(*MsgReactorInfuse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29722,8 +29786,20 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth var n int var l int _ = l - if x.Struct != nil { - l = options.Size(x.Struct) + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) n += 1 + l + runtime.Sov(uint64(l)) } if x.unknownFields != nil { @@ -29736,7 +29812,7 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgStructStatusResponse) + x := input.Message.Interface().(*MsgReactorInfuse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29755,8 +29831,8 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.Struct != nil { - encoded, err := options.Marshal(x.Struct) + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29767,6 +29843,27 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- + dAtA[i] = 0x22 + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- + dAtA[i] = 0x1a + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- dAtA[i] = 0xa } if input.Buf != nil { @@ -29780,7 +29877,7 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgStructStatusResponse) + x := input.Message.Interface().(*MsgReactorInfuse) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -29812,15 +29909,111 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgStructStatusResponse: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorInfuse: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgStructStatusResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorInfuse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Struct", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -29847,10 +30040,10 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.Struct == nil { - x.Struct = &Struct{} + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Struct); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -29890,27 +30083,23 @@ func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Meth } var ( - md_MsgStructActivate protoreflect.MessageDescriptor - fd_MsgStructActivate_creator protoreflect.FieldDescriptor - fd_MsgStructActivate_structId protoreflect.FieldDescriptor + md_MsgReactorInfuseResponse protoreflect.MessageDescriptor ) func init() { file_structs_structs_tx_proto_init() - md_MsgStructActivate = File_structs_structs_tx_proto.Messages().ByName("MsgStructActivate") - fd_MsgStructActivate_creator = md_MsgStructActivate.Fields().ByName("creator") - fd_MsgStructActivate_structId = md_MsgStructActivate.Fields().ByName("structId") + md_MsgReactorInfuseResponse = File_structs_structs_tx_proto.Messages().ByName("MsgReactorInfuseResponse") } -var _ protoreflect.Message = (*fastReflection_MsgStructActivate)(nil) +var _ protoreflect.Message = (*fastReflection_MsgReactorInfuseResponse)(nil) -type fastReflection_MsgStructActivate MsgStructActivate +type fastReflection_MsgReactorInfuseResponse MsgReactorInfuseResponse -func (x *MsgStructActivate) ProtoReflect() protoreflect.Message { - return (*fastReflection_MsgStructActivate)(x) +func (x *MsgReactorInfuseResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorInfuseResponse)(x) } -func (x *MsgStructActivate) slowProtoReflect() protoreflect.Message { +func (x *MsgReactorInfuseResponse) slowProtoReflect() protoreflect.Message { mi := &file_structs_structs_tx_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -29922,43 +30111,43 @@ func (x *MsgStructActivate) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_MsgStructActivate_messageType fastReflection_MsgStructActivate_messageType -var _ protoreflect.MessageType = fastReflection_MsgStructActivate_messageType{} +var _fastReflection_MsgReactorInfuseResponse_messageType fastReflection_MsgReactorInfuseResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorInfuseResponse_messageType{} -type fastReflection_MsgStructActivate_messageType struct{} +type fastReflection_MsgReactorInfuseResponse_messageType struct{} -func (x fastReflection_MsgStructActivate_messageType) Zero() protoreflect.Message { - return (*fastReflection_MsgStructActivate)(nil) +func (x fastReflection_MsgReactorInfuseResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorInfuseResponse)(nil) } -func (x fastReflection_MsgStructActivate_messageType) New() protoreflect.Message { - return new(fastReflection_MsgStructActivate) +func (x fastReflection_MsgReactorInfuseResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorInfuseResponse) } -func (x fastReflection_MsgStructActivate_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_MsgStructActivate +func (x fastReflection_MsgReactorInfuseResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorInfuseResponse } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_MsgStructActivate) Descriptor() protoreflect.MessageDescriptor { - return md_MsgStructActivate +func (x *fastReflection_MsgReactorInfuseResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorInfuseResponse } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_MsgStructActivate) Type() protoreflect.MessageType { - return _fastReflection_MsgStructActivate_messageType +func (x *fastReflection_MsgReactorInfuseResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorInfuseResponse_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_MsgStructActivate) New() protoreflect.Message { - return new(fastReflection_MsgStructActivate) +func (x *fastReflection_MsgReactorInfuseResponse) New() protoreflect.Message { + return new(fastReflection_MsgReactorInfuseResponse) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_MsgStructActivate) Interface() protoreflect.ProtoMessage { - return (*MsgStructActivate)(x) +func (x *fastReflection_MsgReactorInfuseResponse) Interface() protoreflect.ProtoMessage { + return (*MsgReactorInfuseResponse)(x) } // Range iterates over every populated field in an undefined order, @@ -29966,19 +30155,7 @@ func (x *fastReflection_MsgStructActivate) Interface() protoreflect.ProtoMessage // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_MsgStructActivate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Creator != "" { - value := protoreflect.ValueOfString(x.Creator) - if !f(fd_MsgStructActivate_creator, value) { - return - } - } - if x.StructId != "" { - value := protoreflect.ValueOfString(x.StructId) - if !f(fd_MsgStructActivate_structId, value) { - return - } - } +func (x *fastReflection_MsgReactorInfuseResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { } // Has reports whether a field is populated. @@ -29992,17 +30169,13 @@ func (x *fastReflection_MsgStructActivate) Range(f func(protoreflect.FieldDescri // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_MsgStructActivate) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_MsgReactorInfuseResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "structs.structs.MsgStructActivate.creator": - return x.Creator != "" - case "structs.structs.MsgStructActivate.structId": - return x.StructId != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuseResponse")) } - panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuseResponse does not contain field %s", fd.FullName())) } } @@ -30012,17 +30185,13 @@ func (x *fastReflection_MsgStructActivate) Has(fd protoreflect.FieldDescriptor) // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructActivate) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_MsgReactorInfuseResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "structs.structs.MsgStructActivate.creator": - x.Creator = "" - case "structs.structs.MsgStructActivate.structId": - x.StructId = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuseResponse")) } - panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuseResponse does not contain field %s", fd.FullName())) } } @@ -30032,19 +30201,13 @@ func (x *fastReflection_MsgStructActivate) Clear(fd protoreflect.FieldDescriptor // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_MsgStructActivate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgReactorInfuseResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "structs.structs.MsgStructActivate.creator": - value := x.Creator - return protoreflect.ValueOfString(value) - case "structs.structs.MsgStructActivate.structId": - value := x.StructId - return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuseResponse")) } - panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuseResponse does not contain field %s", descriptor.FullName())) } } @@ -30058,17 +30221,13 @@ func (x *fastReflection_MsgStructActivate) Get(descriptor protoreflect.FieldDesc // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructActivate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_MsgReactorInfuseResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "structs.structs.MsgStructActivate.creator": - x.Creator = value.Interface().(string) - case "structs.structs.MsgStructActivate.structId": - x.StructId = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuseResponse")) } - panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuseResponse does not contain field %s", fd.FullName())) } } @@ -30082,44 +30241,36 @@ func (x *fastReflection_MsgStructActivate) Set(fd protoreflect.FieldDescriptor, // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructActivate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgReactorInfuseResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "structs.structs.MsgStructActivate.creator": - panic(fmt.Errorf("field creator of message structs.structs.MsgStructActivate is not mutable")) - case "structs.structs.MsgStructActivate.structId": - panic(fmt.Errorf("field structId of message structs.structs.MsgStructActivate is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuseResponse")) } - panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuseResponse does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_MsgStructActivate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_MsgReactorInfuseResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "structs.structs.MsgStructActivate.creator": - return protoreflect.ValueOfString("") - case "structs.structs.MsgStructActivate.structId": - return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorInfuseResponse")) } - panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message structs.structs.MsgReactorInfuseResponse does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_MsgStructActivate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_MsgReactorInfuseResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgStructActivate", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorInfuseResponse", d.FullName())) } panic("unreachable") } @@ -30127,7 +30278,7 @@ func (x *fastReflection_MsgStructActivate) WhichOneof(d protoreflect.OneofDescri // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_MsgStructActivate) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_MsgReactorInfuseResponse) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -30138,7 +30289,7 @@ func (x *fastReflection_MsgStructActivate) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_MsgStructActivate) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_MsgReactorInfuseResponse) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -30150,7 +30301,7 @@ func (x *fastReflection_MsgStructActivate) SetUnknown(fields protoreflect.RawFie // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_MsgStructActivate) IsValid() bool { +func (x *fastReflection_MsgReactorInfuseResponse) IsValid() bool { return x != nil } @@ -30160,9 +30311,9 @@ func (x *fastReflection_MsgStructActivate) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_MsgStructActivate) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_MsgReactorInfuseResponse) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*MsgStructActivate) + x := input.Message.Interface().(*MsgReactorInfuseResponse) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -30174,14 +30325,6 @@ func (x *fastReflection_MsgStructActivate) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Creator) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - l = len(x.StructId) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -30192,7 +30335,7 @@ func (x *fastReflection_MsgStructActivate) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*MsgStructActivate) + x := input.Message.Interface().(*MsgReactorInfuseResponse) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -30211,20 +30354,6 @@ func (x *fastReflection_MsgStructActivate) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if len(x.StructId) > 0 { - i -= len(x.StructId) - copy(dAtA[i:], x.StructId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.StructId))) - i-- - dAtA[i] = 0x12 - } - if len(x.Creator) > 0 { - i -= len(x.Creator) - copy(dAtA[i:], x.Creator) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) - i-- - dAtA[i] = 0xa - } if input.Buf != nil { input.Buf = append(input.Buf, dAtA...) } else { @@ -30236,7 +30365,4160 @@ func (x *fastReflection_MsgStructActivate) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*MsgStructActivate) + x := input.Message.Interface().(*MsgReactorInfuseResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorInfuseResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorInfuseResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgReactorBeginMigration protoreflect.MessageDescriptor + fd_MsgReactorBeginMigration_creator protoreflect.FieldDescriptor + fd_MsgReactorBeginMigration_delegator_address protoreflect.FieldDescriptor + fd_MsgReactorBeginMigration_validator_src_address protoreflect.FieldDescriptor + fd_MsgReactorBeginMigration_validator_dst_address protoreflect.FieldDescriptor + fd_MsgReactorBeginMigration_amount protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgReactorBeginMigration = File_structs_structs_tx_proto.Messages().ByName("MsgReactorBeginMigration") + fd_MsgReactorBeginMigration_creator = md_MsgReactorBeginMigration.Fields().ByName("creator") + fd_MsgReactorBeginMigration_delegator_address = md_MsgReactorBeginMigration.Fields().ByName("delegator_address") + fd_MsgReactorBeginMigration_validator_src_address = md_MsgReactorBeginMigration.Fields().ByName("validator_src_address") + fd_MsgReactorBeginMigration_validator_dst_address = md_MsgReactorBeginMigration.Fields().ByName("validator_dst_address") + fd_MsgReactorBeginMigration_amount = md_MsgReactorBeginMigration.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgReactorBeginMigration)(nil) + +type fastReflection_MsgReactorBeginMigration MsgReactorBeginMigration + +func (x *MsgReactorBeginMigration) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorBeginMigration)(x) +} + +func (x *MsgReactorBeginMigration) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[60] + 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) +} + +var _fastReflection_MsgReactorBeginMigration_messageType fastReflection_MsgReactorBeginMigration_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorBeginMigration_messageType{} + +type fastReflection_MsgReactorBeginMigration_messageType struct{} + +func (x fastReflection_MsgReactorBeginMigration_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorBeginMigration)(nil) +} +func (x fastReflection_MsgReactorBeginMigration_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorBeginMigration) +} +func (x fastReflection_MsgReactorBeginMigration_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorBeginMigration +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgReactorBeginMigration) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorBeginMigration +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgReactorBeginMigration) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorBeginMigration_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgReactorBeginMigration) New() protoreflect.Message { + return new(fastReflection_MsgReactorBeginMigration) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgReactorBeginMigration) Interface() protoreflect.ProtoMessage { + return (*MsgReactorBeginMigration)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgReactorBeginMigration) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgReactorBeginMigration_creator, value) { + return + } + } + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgReactorBeginMigration_delegator_address, value) { + return + } + } + if x.ValidatorSrcAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorSrcAddress) + if !f(fd_MsgReactorBeginMigration_validator_src_address, value) { + return + } + } + if x.ValidatorDstAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorDstAddress) + if !f(fd_MsgReactorBeginMigration_validator_dst_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgReactorBeginMigration_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgReactorBeginMigration) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigration.creator": + return x.Creator != "" + case "structs.structs.MsgReactorBeginMigration.delegator_address": + return x.DelegatorAddress != "" + case "structs.structs.MsgReactorBeginMigration.validator_src_address": + return x.ValidatorSrcAddress != "" + case "structs.structs.MsgReactorBeginMigration.validator_dst_address": + return x.ValidatorDstAddress != "" + case "structs.structs.MsgReactorBeginMigration.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigration")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigration does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigration) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigration.creator": + x.Creator = "" + case "structs.structs.MsgReactorBeginMigration.delegator_address": + x.DelegatorAddress = "" + case "structs.structs.MsgReactorBeginMigration.validator_src_address": + x.ValidatorSrcAddress = "" + case "structs.structs.MsgReactorBeginMigration.validator_dst_address": + x.ValidatorDstAddress = "" + case "structs.structs.MsgReactorBeginMigration.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigration")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigration does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgReactorBeginMigration) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgReactorBeginMigration.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorBeginMigration.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorBeginMigration.validator_src_address": + value := x.ValidatorSrcAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorBeginMigration.validator_dst_address": + value := x.ValidatorDstAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorBeginMigration.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigration")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigration does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigration) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigration.creator": + x.Creator = value.Interface().(string) + case "structs.structs.MsgReactorBeginMigration.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorBeginMigration.validator_src_address": + x.ValidatorSrcAddress = value.Interface().(string) + case "structs.structs.MsgReactorBeginMigration.validator_dst_address": + x.ValidatorDstAddress = value.Interface().(string) + case "structs.structs.MsgReactorBeginMigration.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigration")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigration does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigration) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigration.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "structs.structs.MsgReactorBeginMigration.creator": + panic(fmt.Errorf("field creator of message structs.structs.MsgReactorBeginMigration is not mutable")) + case "structs.structs.MsgReactorBeginMigration.delegator_address": + panic(fmt.Errorf("field delegator_address of message structs.structs.MsgReactorBeginMigration is not mutable")) + case "structs.structs.MsgReactorBeginMigration.validator_src_address": + panic(fmt.Errorf("field validator_src_address of message structs.structs.MsgReactorBeginMigration is not mutable")) + case "structs.structs.MsgReactorBeginMigration.validator_dst_address": + panic(fmt.Errorf("field validator_dst_address of message structs.structs.MsgReactorBeginMigration is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigration")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigration does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgReactorBeginMigration) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigration.creator": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorBeginMigration.delegator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorBeginMigration.validator_src_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorBeginMigration.validator_dst_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorBeginMigration.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigration")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigration does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgReactorBeginMigration) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorBeginMigration", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgReactorBeginMigration) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigration) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgReactorBeginMigration) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgReactorBeginMigration) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgReactorBeginMigration) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorSrcAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorDstAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorBeginMigration) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a + } + if len(x.ValidatorDstAddress) > 0 { + i -= len(x.ValidatorDstAddress) + copy(dAtA[i:], x.ValidatorDstAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorDstAddress))) + i-- + dAtA[i] = 0x22 + } + if len(x.ValidatorSrcAddress) > 0 { + i -= len(x.ValidatorSrcAddress) + copy(dAtA[i:], x.ValidatorSrcAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorSrcAddress))) + i-- + dAtA[i] = 0x1a + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorBeginMigration) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorBeginMigration: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorBeginMigration: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorSrcAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorSrcAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorDstAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorDstAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgReactorBeginMigrationResponse protoreflect.MessageDescriptor + fd_MsgReactorBeginMigrationResponse_completion_time protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgReactorBeginMigrationResponse = File_structs_structs_tx_proto.Messages().ByName("MsgReactorBeginMigrationResponse") + fd_MsgReactorBeginMigrationResponse_completion_time = md_MsgReactorBeginMigrationResponse.Fields().ByName("completion_time") +} + +var _ protoreflect.Message = (*fastReflection_MsgReactorBeginMigrationResponse)(nil) + +type fastReflection_MsgReactorBeginMigrationResponse MsgReactorBeginMigrationResponse + +func (x *MsgReactorBeginMigrationResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorBeginMigrationResponse)(x) +} + +func (x *MsgReactorBeginMigrationResponse) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[61] + 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) +} + +var _fastReflection_MsgReactorBeginMigrationResponse_messageType fastReflection_MsgReactorBeginMigrationResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorBeginMigrationResponse_messageType{} + +type fastReflection_MsgReactorBeginMigrationResponse_messageType struct{} + +func (x fastReflection_MsgReactorBeginMigrationResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorBeginMigrationResponse)(nil) +} +func (x fastReflection_MsgReactorBeginMigrationResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorBeginMigrationResponse) +} +func (x fastReflection_MsgReactorBeginMigrationResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorBeginMigrationResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorBeginMigrationResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorBeginMigrationResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgReactorBeginMigrationResponse) New() protoreflect.Message { + return new(fastReflection_MsgReactorBeginMigrationResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Interface() protoreflect.ProtoMessage { + return (*MsgReactorBeginMigrationResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CompletionTime != nil { + value := protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + if !f(fd_MsgReactorBeginMigrationResponse_completion_time, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigrationResponse.completion_time": + return x.CompletionTime != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigrationResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigrationResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigrationResponse.completion_time": + x.CompletionTime = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigrationResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigrationResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgReactorBeginMigrationResponse.completion_time": + value := x.CompletionTime + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigrationResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigrationResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigrationResponse.completion_time": + x.CompletionTime = value.Message().Interface().(*timestamppb.Timestamp) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigrationResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigrationResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigrationResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigrationResponse.completion_time": + if x.CompletionTime == nil { + x.CompletionTime = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigrationResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigrationResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgReactorBeginMigrationResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorBeginMigrationResponse.completion_time": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorBeginMigrationResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorBeginMigrationResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgReactorBeginMigrationResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorBeginMigrationResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgReactorBeginMigrationResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorBeginMigrationResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgReactorBeginMigrationResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgReactorBeginMigrationResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgReactorBeginMigrationResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CompletionTime != nil { + l = options.Size(x.CompletionTime) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorBeginMigrationResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CompletionTime != nil { + encoded, err := options.Marshal(x.CompletionTime) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorBeginMigrationResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorBeginMigrationResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorBeginMigrationResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CompletionTime == nil { + x.CompletionTime = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CompletionTime); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgReactorDefuse protoreflect.MessageDescriptor + fd_MsgReactorDefuse_creator protoreflect.FieldDescriptor + fd_MsgReactorDefuse_delegator_address protoreflect.FieldDescriptor + fd_MsgReactorDefuse_validator_address protoreflect.FieldDescriptor + fd_MsgReactorDefuse_amount protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgReactorDefuse = File_structs_structs_tx_proto.Messages().ByName("MsgReactorDefuse") + fd_MsgReactorDefuse_creator = md_MsgReactorDefuse.Fields().ByName("creator") + fd_MsgReactorDefuse_delegator_address = md_MsgReactorDefuse.Fields().ByName("delegator_address") + fd_MsgReactorDefuse_validator_address = md_MsgReactorDefuse.Fields().ByName("validator_address") + fd_MsgReactorDefuse_amount = md_MsgReactorDefuse.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgReactorDefuse)(nil) + +type fastReflection_MsgReactorDefuse MsgReactorDefuse + +func (x *MsgReactorDefuse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorDefuse)(x) +} + +func (x *MsgReactorDefuse) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[62] + 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) +} + +var _fastReflection_MsgReactorDefuse_messageType fastReflection_MsgReactorDefuse_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorDefuse_messageType{} + +type fastReflection_MsgReactorDefuse_messageType struct{} + +func (x fastReflection_MsgReactorDefuse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorDefuse)(nil) +} +func (x fastReflection_MsgReactorDefuse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorDefuse) +} +func (x fastReflection_MsgReactorDefuse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorDefuse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgReactorDefuse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorDefuse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgReactorDefuse) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorDefuse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgReactorDefuse) New() protoreflect.Message { + return new(fastReflection_MsgReactorDefuse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgReactorDefuse) Interface() protoreflect.ProtoMessage { + return (*MsgReactorDefuse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgReactorDefuse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgReactorDefuse_creator, value) { + return + } + } + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgReactorDefuse_delegator_address, value) { + return + } + } + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgReactorDefuse_validator_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgReactorDefuse_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgReactorDefuse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuse.creator": + return x.Creator != "" + case "structs.structs.MsgReactorDefuse.delegator_address": + return x.DelegatorAddress != "" + case "structs.structs.MsgReactorDefuse.validator_address": + return x.ValidatorAddress != "" + case "structs.structs.MsgReactorDefuse.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuse.creator": + x.Creator = "" + case "structs.structs.MsgReactorDefuse.delegator_address": + x.DelegatorAddress = "" + case "structs.structs.MsgReactorDefuse.validator_address": + x.ValidatorAddress = "" + case "structs.structs.MsgReactorDefuse.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgReactorDefuse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgReactorDefuse.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorDefuse.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorDefuse.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorDefuse.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuse.creator": + x.Creator = value.Interface().(string) + case "structs.structs.MsgReactorDefuse.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorDefuse.validator_address": + x.ValidatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorDefuse.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuse.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "structs.structs.MsgReactorDefuse.creator": + panic(fmt.Errorf("field creator of message structs.structs.MsgReactorDefuse is not mutable")) + case "structs.structs.MsgReactorDefuse.delegator_address": + panic(fmt.Errorf("field delegator_address of message structs.structs.MsgReactorDefuse is not mutable")) + case "structs.structs.MsgReactorDefuse.validator_address": + panic(fmt.Errorf("field validator_address of message structs.structs.MsgReactorDefuse is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgReactorDefuse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuse.creator": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorDefuse.delegator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorDefuse.validator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorDefuse.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgReactorDefuse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorDefuse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgReactorDefuse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgReactorDefuse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgReactorDefuse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgReactorDefuse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorDefuse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- + dAtA[i] = 0x1a + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorDefuse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorDefuse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorDefuse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgReactorDefuseResponse protoreflect.MessageDescriptor + fd_MsgReactorDefuseResponse_completion_time protoreflect.FieldDescriptor + fd_MsgReactorDefuseResponse_amount protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgReactorDefuseResponse = File_structs_structs_tx_proto.Messages().ByName("MsgReactorDefuseResponse") + fd_MsgReactorDefuseResponse_completion_time = md_MsgReactorDefuseResponse.Fields().ByName("completion_time") + fd_MsgReactorDefuseResponse_amount = md_MsgReactorDefuseResponse.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgReactorDefuseResponse)(nil) + +type fastReflection_MsgReactorDefuseResponse MsgReactorDefuseResponse + +func (x *MsgReactorDefuseResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorDefuseResponse)(x) +} + +func (x *MsgReactorDefuseResponse) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[63] + 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) +} + +var _fastReflection_MsgReactorDefuseResponse_messageType fastReflection_MsgReactorDefuseResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorDefuseResponse_messageType{} + +type fastReflection_MsgReactorDefuseResponse_messageType struct{} + +func (x fastReflection_MsgReactorDefuseResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorDefuseResponse)(nil) +} +func (x fastReflection_MsgReactorDefuseResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorDefuseResponse) +} +func (x fastReflection_MsgReactorDefuseResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorDefuseResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgReactorDefuseResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorDefuseResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgReactorDefuseResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorDefuseResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgReactorDefuseResponse) New() protoreflect.Message { + return new(fastReflection_MsgReactorDefuseResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgReactorDefuseResponse) Interface() protoreflect.ProtoMessage { + return (*MsgReactorDefuseResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgReactorDefuseResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CompletionTime != nil { + value := protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + if !f(fd_MsgReactorDefuseResponse_completion_time, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgReactorDefuseResponse_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgReactorDefuseResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuseResponse.completion_time": + return x.CompletionTime != nil + case "structs.structs.MsgReactorDefuseResponse.amount": + return x.Amount != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuseResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuseResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuseResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuseResponse.completion_time": + x.CompletionTime = nil + case "structs.structs.MsgReactorDefuseResponse.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuseResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuseResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgReactorDefuseResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgReactorDefuseResponse.completion_time": + value := x.CompletionTime + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "structs.structs.MsgReactorDefuseResponse.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuseResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuseResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuseResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuseResponse.completion_time": + x.CompletionTime = value.Message().Interface().(*timestamppb.Timestamp) + case "structs.structs.MsgReactorDefuseResponse.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuseResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuseResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuseResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuseResponse.completion_time": + if x.CompletionTime == nil { + x.CompletionTime = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.CompletionTime.ProtoReflect()) + case "structs.structs.MsgReactorDefuseResponse.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuseResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuseResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgReactorDefuseResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorDefuseResponse.completion_time": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "structs.structs.MsgReactorDefuseResponse.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorDefuseResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorDefuseResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgReactorDefuseResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorDefuseResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgReactorDefuseResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorDefuseResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgReactorDefuseResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgReactorDefuseResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgReactorDefuseResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.CompletionTime != nil { + l = options.Size(x.CompletionTime) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorDefuseResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if x.CompletionTime != nil { + encoded, err := options.Marshal(x.CompletionTime) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorDefuseResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorDefuseResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorDefuseResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.CompletionTime == nil { + x.CompletionTime = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.CompletionTime); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgReactorCancelDefusion protoreflect.MessageDescriptor + fd_MsgReactorCancelDefusion_creator protoreflect.FieldDescriptor + fd_MsgReactorCancelDefusion_delegator_address protoreflect.FieldDescriptor + fd_MsgReactorCancelDefusion_validator_address protoreflect.FieldDescriptor + fd_MsgReactorCancelDefusion_amount protoreflect.FieldDescriptor + fd_MsgReactorCancelDefusion_creation_height protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgReactorCancelDefusion = File_structs_structs_tx_proto.Messages().ByName("MsgReactorCancelDefusion") + fd_MsgReactorCancelDefusion_creator = md_MsgReactorCancelDefusion.Fields().ByName("creator") + fd_MsgReactorCancelDefusion_delegator_address = md_MsgReactorCancelDefusion.Fields().ByName("delegator_address") + fd_MsgReactorCancelDefusion_validator_address = md_MsgReactorCancelDefusion.Fields().ByName("validator_address") + fd_MsgReactorCancelDefusion_amount = md_MsgReactorCancelDefusion.Fields().ByName("amount") + fd_MsgReactorCancelDefusion_creation_height = md_MsgReactorCancelDefusion.Fields().ByName("creation_height") +} + +var _ protoreflect.Message = (*fastReflection_MsgReactorCancelDefusion)(nil) + +type fastReflection_MsgReactorCancelDefusion MsgReactorCancelDefusion + +func (x *MsgReactorCancelDefusion) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorCancelDefusion)(x) +} + +func (x *MsgReactorCancelDefusion) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[64] + 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) +} + +var _fastReflection_MsgReactorCancelDefusion_messageType fastReflection_MsgReactorCancelDefusion_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorCancelDefusion_messageType{} + +type fastReflection_MsgReactorCancelDefusion_messageType struct{} + +func (x fastReflection_MsgReactorCancelDefusion_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorCancelDefusion)(nil) +} +func (x fastReflection_MsgReactorCancelDefusion_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorCancelDefusion) +} +func (x fastReflection_MsgReactorCancelDefusion_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorCancelDefusion +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgReactorCancelDefusion) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorCancelDefusion +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgReactorCancelDefusion) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorCancelDefusion_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgReactorCancelDefusion) New() protoreflect.Message { + return new(fastReflection_MsgReactorCancelDefusion) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgReactorCancelDefusion) Interface() protoreflect.ProtoMessage { + return (*MsgReactorCancelDefusion)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgReactorCancelDefusion) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgReactorCancelDefusion_creator, value) { + return + } + } + if x.DelegatorAddress != "" { + value := protoreflect.ValueOfString(x.DelegatorAddress) + if !f(fd_MsgReactorCancelDefusion_delegator_address, value) { + return + } + } + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgReactorCancelDefusion_validator_address, value) { + return + } + } + if x.Amount != nil { + value := protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + if !f(fd_MsgReactorCancelDefusion_amount, value) { + return + } + } + if x.CreationHeight != int64(0) { + value := protoreflect.ValueOfInt64(x.CreationHeight) + if !f(fd_MsgReactorCancelDefusion_creation_height, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgReactorCancelDefusion) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgReactorCancelDefusion.creator": + return x.Creator != "" + case "structs.structs.MsgReactorCancelDefusion.delegator_address": + return x.DelegatorAddress != "" + case "structs.structs.MsgReactorCancelDefusion.validator_address": + return x.ValidatorAddress != "" + case "structs.structs.MsgReactorCancelDefusion.amount": + return x.Amount != nil + case "structs.structs.MsgReactorCancelDefusion.creation_height": + return x.CreationHeight != int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusion")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusion does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusion) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgReactorCancelDefusion.creator": + x.Creator = "" + case "structs.structs.MsgReactorCancelDefusion.delegator_address": + x.DelegatorAddress = "" + case "structs.structs.MsgReactorCancelDefusion.validator_address": + x.ValidatorAddress = "" + case "structs.structs.MsgReactorCancelDefusion.amount": + x.Amount = nil + case "structs.structs.MsgReactorCancelDefusion.creation_height": + x.CreationHeight = int64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusion")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusion does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgReactorCancelDefusion) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgReactorCancelDefusion.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorCancelDefusion.delegator_address": + value := x.DelegatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorCancelDefusion.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + case "structs.structs.MsgReactorCancelDefusion.amount": + value := x.Amount + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "structs.structs.MsgReactorCancelDefusion.creation_height": + value := x.CreationHeight + return protoreflect.ValueOfInt64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusion")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusion does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusion) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgReactorCancelDefusion.creator": + x.Creator = value.Interface().(string) + case "structs.structs.MsgReactorCancelDefusion.delegator_address": + x.DelegatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorCancelDefusion.validator_address": + x.ValidatorAddress = value.Interface().(string) + case "structs.structs.MsgReactorCancelDefusion.amount": + x.Amount = value.Message().Interface().(*v1beta1.Coin) + case "structs.structs.MsgReactorCancelDefusion.creation_height": + x.CreationHeight = value.Int() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusion")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusion does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusion) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorCancelDefusion.amount": + if x.Amount == nil { + x.Amount = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Amount.ProtoReflect()) + case "structs.structs.MsgReactorCancelDefusion.creator": + panic(fmt.Errorf("field creator of message structs.structs.MsgReactorCancelDefusion is not mutable")) + case "structs.structs.MsgReactorCancelDefusion.delegator_address": + panic(fmt.Errorf("field delegator_address of message structs.structs.MsgReactorCancelDefusion is not mutable")) + case "structs.structs.MsgReactorCancelDefusion.validator_address": + panic(fmt.Errorf("field validator_address of message structs.structs.MsgReactorCancelDefusion is not mutable")) + case "structs.structs.MsgReactorCancelDefusion.creation_height": + panic(fmt.Errorf("field creation_height of message structs.structs.MsgReactorCancelDefusion is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusion")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusion does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgReactorCancelDefusion) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgReactorCancelDefusion.creator": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorCancelDefusion.delegator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorCancelDefusion.validator_address": + return protoreflect.ValueOfString("") + case "structs.structs.MsgReactorCancelDefusion.amount": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "structs.structs.MsgReactorCancelDefusion.creation_height": + return protoreflect.ValueOfInt64(int64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusion")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusion does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgReactorCancelDefusion) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorCancelDefusion", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgReactorCancelDefusion) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusion) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgReactorCancelDefusion) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgReactorCancelDefusion) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgReactorCancelDefusion) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.DelegatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Amount != nil { + l = options.Size(x.Amount) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.CreationHeight != 0 { + n += 1 + runtime.Sov(uint64(x.CreationHeight)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorCancelDefusion) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.CreationHeight != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.CreationHeight)) + i-- + dAtA[i] = 0x28 + } + if x.Amount != nil { + encoded, err := options.Marshal(x.Amount) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x22 + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- + dAtA[i] = 0x1a + } + if len(x.DelegatorAddress) > 0 { + i -= len(x.DelegatorAddress) + copy(dAtA[i:], x.DelegatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DelegatorAddress))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorCancelDefusion) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorCancelDefusion: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorCancelDefusion: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Amount == nil { + x.Amount = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreationHeight", wireType) + } + x.CreationHeight = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.CreationHeight |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgReactorCancelDefusionResponse protoreflect.MessageDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgReactorCancelDefusionResponse = File_structs_structs_tx_proto.Messages().ByName("MsgReactorCancelDefusionResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgReactorCancelDefusionResponse)(nil) + +type fastReflection_MsgReactorCancelDefusionResponse MsgReactorCancelDefusionResponse + +func (x *MsgReactorCancelDefusionResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgReactorCancelDefusionResponse)(x) +} + +func (x *MsgReactorCancelDefusionResponse) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[65] + 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) +} + +var _fastReflection_MsgReactorCancelDefusionResponse_messageType fastReflection_MsgReactorCancelDefusionResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgReactorCancelDefusionResponse_messageType{} + +type fastReflection_MsgReactorCancelDefusionResponse_messageType struct{} + +func (x fastReflection_MsgReactorCancelDefusionResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgReactorCancelDefusionResponse)(nil) +} +func (x fastReflection_MsgReactorCancelDefusionResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgReactorCancelDefusionResponse) +} +func (x fastReflection_MsgReactorCancelDefusionResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorCancelDefusionResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgReactorCancelDefusionResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgReactorCancelDefusionResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgReactorCancelDefusionResponse) New() protoreflect.Message { + return new(fastReflection_MsgReactorCancelDefusionResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Interface() protoreflect.ProtoMessage { + return (*MsgReactorCancelDefusionResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusionResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusionResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusionResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusionResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusionResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusionResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusionResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusionResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusionResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusionResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusionResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgReactorCancelDefusionResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgReactorCancelDefusionResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgReactorCancelDefusionResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgReactorCancelDefusionResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgReactorCancelDefusionResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgReactorCancelDefusionResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgReactorCancelDefusionResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgReactorCancelDefusionResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgReactorCancelDefusionResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgReactorCancelDefusionResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorCancelDefusionResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgReactorCancelDefusionResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorCancelDefusionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgReactorCancelDefusionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgStructStatusResponse protoreflect.MessageDescriptor + fd_MsgStructStatusResponse_struct protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgStructStatusResponse = File_structs_structs_tx_proto.Messages().ByName("MsgStructStatusResponse") + fd_MsgStructStatusResponse_struct = md_MsgStructStatusResponse.Fields().ByName("struct") +} + +var _ protoreflect.Message = (*fastReflection_MsgStructStatusResponse)(nil) + +type fastReflection_MsgStructStatusResponse MsgStructStatusResponse + +func (x *MsgStructStatusResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgStructStatusResponse)(x) +} + +func (x *MsgStructStatusResponse) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[66] + 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) +} + +var _fastReflection_MsgStructStatusResponse_messageType fastReflection_MsgStructStatusResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgStructStatusResponse_messageType{} + +type fastReflection_MsgStructStatusResponse_messageType struct{} + +func (x fastReflection_MsgStructStatusResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgStructStatusResponse)(nil) +} +func (x fastReflection_MsgStructStatusResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgStructStatusResponse) +} +func (x fastReflection_MsgStructStatusResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgStructStatusResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgStructStatusResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgStructStatusResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgStructStatusResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgStructStatusResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgStructStatusResponse) New() protoreflect.Message { + return new(fastReflection_MsgStructStatusResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgStructStatusResponse) Interface() protoreflect.ProtoMessage { + return (*MsgStructStatusResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgStructStatusResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Struct != nil { + value := protoreflect.ValueOfMessage(x.Struct.ProtoReflect()) + if !f(fd_MsgStructStatusResponse_struct, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgStructStatusResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgStructStatusResponse.struct": + return x.Struct != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructStatusResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgStructStatusResponse.struct": + x.Struct = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgStructStatusResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgStructStatusResponse.struct": + value := x.Struct + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructStatusResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgStructStatusResponse.struct": + x.Struct = value.Message().Interface().(*Struct) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructStatusResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgStructStatusResponse.struct": + if x.Struct == nil { + x.Struct = new(Struct) + } + return protoreflect.ValueOfMessage(x.Struct.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgStructStatusResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgStructStatusResponse.struct": + m := new(Struct) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructStatusResponse")) + } + panic(fmt.Errorf("message structs.structs.MsgStructStatusResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgStructStatusResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgStructStatusResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgStructStatusResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructStatusResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgStructStatusResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgStructStatusResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgStructStatusResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.Struct != nil { + l = options.Size(x.Struct) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgStructStatusResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Struct != nil { + encoded, err := options.Marshal(x.Struct) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgStructStatusResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgStructStatusResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgStructStatusResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Struct", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Struct == nil { + x.Struct = &Struct{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Struct); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgStructActivate protoreflect.MessageDescriptor + fd_MsgStructActivate_creator protoreflect.FieldDescriptor + fd_MsgStructActivate_structId protoreflect.FieldDescriptor +) + +func init() { + file_structs_structs_tx_proto_init() + md_MsgStructActivate = File_structs_structs_tx_proto.Messages().ByName("MsgStructActivate") + fd_MsgStructActivate_creator = md_MsgStructActivate.Fields().ByName("creator") + fd_MsgStructActivate_structId = md_MsgStructActivate.Fields().ByName("structId") +} + +var _ protoreflect.Message = (*fastReflection_MsgStructActivate)(nil) + +type fastReflection_MsgStructActivate MsgStructActivate + +func (x *MsgStructActivate) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgStructActivate)(x) +} + +func (x *MsgStructActivate) slowProtoReflect() protoreflect.Message { + mi := &file_structs_structs_tx_proto_msgTypes[67] + 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) +} + +var _fastReflection_MsgStructActivate_messageType fastReflection_MsgStructActivate_messageType +var _ protoreflect.MessageType = fastReflection_MsgStructActivate_messageType{} + +type fastReflection_MsgStructActivate_messageType struct{} + +func (x fastReflection_MsgStructActivate_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgStructActivate)(nil) +} +func (x fastReflection_MsgStructActivate_messageType) New() protoreflect.Message { + return new(fastReflection_MsgStructActivate) +} +func (x fastReflection_MsgStructActivate_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgStructActivate +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgStructActivate) Descriptor() protoreflect.MessageDescriptor { + return md_MsgStructActivate +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgStructActivate) Type() protoreflect.MessageType { + return _fastReflection_MsgStructActivate_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgStructActivate) New() protoreflect.Message { + return new(fastReflection_MsgStructActivate) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgStructActivate) Interface() protoreflect.ProtoMessage { + return (*MsgStructActivate)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgStructActivate) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Creator != "" { + value := protoreflect.ValueOfString(x.Creator) + if !f(fd_MsgStructActivate_creator, value) { + return + } + } + if x.StructId != "" { + value := protoreflect.ValueOfString(x.StructId) + if !f(fd_MsgStructActivate_structId, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgStructActivate) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "structs.structs.MsgStructActivate.creator": + return x.Creator != "" + case "structs.structs.MsgStructActivate.structId": + return x.StructId != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + } + panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructActivate) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "structs.structs.MsgStructActivate.creator": + x.Creator = "" + case "structs.structs.MsgStructActivate.structId": + x.StructId = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + } + panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgStructActivate) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "structs.structs.MsgStructActivate.creator": + value := x.Creator + return protoreflect.ValueOfString(value) + case "structs.structs.MsgStructActivate.structId": + value := x.StructId + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + } + panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructActivate) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "structs.structs.MsgStructActivate.creator": + x.Creator = value.Interface().(string) + case "structs.structs.MsgStructActivate.structId": + x.StructId = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + } + panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructActivate) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgStructActivate.creator": + panic(fmt.Errorf("field creator of message structs.structs.MsgStructActivate is not mutable")) + case "structs.structs.MsgStructActivate.structId": + panic(fmt.Errorf("field structId of message structs.structs.MsgStructActivate is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + } + panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgStructActivate) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "structs.structs.MsgStructActivate.creator": + return protoreflect.ValueOfString("") + case "structs.structs.MsgStructActivate.structId": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: structs.structs.MsgStructActivate")) + } + panic(fmt.Errorf("message structs.structs.MsgStructActivate does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgStructActivate) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in structs.structs.MsgStructActivate", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgStructActivate) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgStructActivate) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgStructActivate) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgStructActivate) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgStructActivate) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Creator) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.StructId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgStructActivate) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.StructId) > 0 { + i -= len(x.StructId) + copy(dAtA[i:], x.StructId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.StructId))) + i-- + dAtA[i] = 0x12 + } + if len(x.Creator) > 0 { + i -= len(x.Creator) + copy(dAtA[i:], x.Creator) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Creator))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgStructActivate) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -30395,7 +34677,7 @@ func (x *MsgStructDeactivate) ProtoReflect() protoreflect.Message { } func (x *MsgStructDeactivate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[60] + mi := &file_structs_structs_tx_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30885,7 +35167,7 @@ func (x *MsgStructBuildInitiate) ProtoReflect() protoreflect.Message { } func (x *MsgStructBuildInitiate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[61] + mi := &file_structs_structs_tx_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31511,7 +35793,7 @@ func (x *MsgStructBuildComplete) ProtoReflect() protoreflect.Message { } func (x *MsgStructBuildComplete) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[62] + mi := &file_structs_structs_tx_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32119,7 +36401,7 @@ func (x *MsgStructBuildCancel) ProtoReflect() protoreflect.Message { } func (x *MsgStructBuildCancel) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[63] + mi := &file_structs_structs_tx_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32613,7 +36895,7 @@ func (x *MsgStructBuildCompleteAndStash) ProtoReflect() protoreflect.Message { } func (x *MsgStructBuildCompleteAndStash) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[64] + mi := &file_structs_structs_tx_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33377,7 +37659,7 @@ func (x *MsgStructDefenseSet) ProtoReflect() protoreflect.Message { } func (x *MsgStructDefenseSet) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[65] + mi := &file_structs_structs_tx_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33923,7 +38205,7 @@ func (x *MsgStructDefenseClear) ProtoReflect() protoreflect.Message { } func (x *MsgStructDefenseClear) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[66] + mi := &file_structs_structs_tx_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34413,7 +38695,7 @@ func (x *MsgStructMove) ProtoReflect() protoreflect.Message { } func (x *MsgStructMove) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[67] + mi := &file_structs_structs_tx_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35085,7 +39367,7 @@ func (x *MsgStructAttack) ProtoReflect() protoreflect.Message { } func (x *MsgStructAttack) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[68] + mi := &file_structs_structs_tx_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35703,7 +39985,7 @@ func (x *MsgStructAttackResponse) ProtoReflect() protoreflect.Message { } func (x *MsgStructAttackResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[69] + mi := &file_structs_structs_tx_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36063,7 +40345,7 @@ func (x *MsgStructStealthActivate) ProtoReflect() protoreflect.Message { } func (x *MsgStructStealthActivate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[70] + mi := &file_structs_structs_tx_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36547,7 +40829,7 @@ func (x *MsgStructStealthDeactivate) ProtoReflect() protoreflect.Message { } func (x *MsgStructStealthDeactivate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[71] + mi := &file_structs_structs_tx_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37033,7 +41315,7 @@ func (x *MsgStructGeneratorInfuse) ProtoReflect() protoreflect.Message { } func (x *MsgStructGeneratorInfuse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[72] + mi := &file_structs_structs_tx_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37575,7 +41857,7 @@ func (x *MsgStructGeneratorStatusResponse) ProtoReflect() protoreflect.Message { } func (x *MsgStructGeneratorStatusResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[73] + mi := &file_structs_structs_tx_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37939,7 +42221,7 @@ func (x *MsgStructOreMinerComplete) ProtoReflect() protoreflect.Message { } func (x *MsgStructOreMinerComplete) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[74] + mi := &file_structs_structs_tx_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38545,7 +42827,7 @@ func (x *MsgStructOreMinerStatusResponse) ProtoReflect() protoreflect.Message { } func (x *MsgStructOreMinerStatusResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[75] + mi := &file_structs_structs_tx_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38986,7 +43268,7 @@ func (x *MsgStructOreRefineryComplete) ProtoReflect() protoreflect.Message { } func (x *MsgStructOreRefineryComplete) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[76] + mi := &file_structs_structs_tx_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39592,7 +43874,7 @@ func (x *MsgStructOreRefineryStatusResponse) ProtoReflect() protoreflect.Message } func (x *MsgStructOreRefineryStatusResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[77] + mi := &file_structs_structs_tx_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40035,7 +44317,7 @@ func (x *MsgStructStorageStash) ProtoReflect() protoreflect.Message { } func (x *MsgStructStorageStash) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[78] + mi := &file_structs_structs_tx_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40681,7 +44963,7 @@ func (x *MsgStructStorageRecall) ProtoReflect() protoreflect.Message { } func (x *MsgStructStorageRecall) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[79] + mi := &file_structs_structs_tx_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41373,7 +45655,7 @@ func (x *MsgSubstationCreate) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationCreate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[80] + mi := &file_structs_structs_tx_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41917,7 +46199,7 @@ func (x *MsgSubstationCreateResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationCreateResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[81] + mi := &file_structs_structs_tx_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42341,7 +46623,7 @@ func (x *MsgSubstationDelete) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationDelete) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[82] + mi := &file_structs_structs_tx_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42883,7 +47165,7 @@ func (x *MsgSubstationDeleteResponse) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationDeleteResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[83] + mi := &file_structs_structs_tx_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43245,7 +47527,7 @@ func (x *MsgSubstationAllocationConnect) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationAllocationConnect) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[84] + mi := &file_structs_structs_tx_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43787,7 +48069,7 @@ func (x *MsgSubstationAllocationConnectResponse) ProtoReflect() protoreflect.Mes } func (x *MsgSubstationAllocationConnectResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[85] + mi := &file_structs_structs_tx_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44147,7 +48429,7 @@ func (x *MsgSubstationAllocationDisconnect) ProtoReflect() protoreflect.Message } func (x *MsgSubstationAllocationDisconnect) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[86] + mi := &file_structs_structs_tx_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44627,7 +48909,7 @@ func (x *MsgSubstationAllocationDisconnectResponse) ProtoReflect() protoreflect. } func (x *MsgSubstationAllocationDisconnectResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[87] + mi := &file_structs_structs_tx_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44989,7 +49271,7 @@ func (x *MsgSubstationPlayerConnect) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationPlayerConnect) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[88] + mi := &file_structs_structs_tx_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45531,7 +49813,7 @@ func (x *MsgSubstationPlayerConnectResponse) ProtoReflect() protoreflect.Message } func (x *MsgSubstationPlayerConnectResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[89] + mi := &file_structs_structs_tx_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45891,7 +50173,7 @@ func (x *MsgSubstationPlayerDisconnect) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationPlayerDisconnect) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[90] + mi := &file_structs_structs_tx_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46371,7 +50653,7 @@ func (x *MsgSubstationPlayerDisconnectResponse) ProtoReflect() protoreflect.Mess } func (x *MsgSubstationPlayerDisconnectResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[91] + mi := &file_structs_structs_tx_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46779,7 +51061,7 @@ func (x *MsgSubstationPlayerMigrate) ProtoReflect() protoreflect.Message { } func (x *MsgSubstationPlayerMigrate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[92] + mi := &file_structs_structs_tx_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47335,7 +51617,7 @@ func (x *MsgSubstationPlayerMigrateResponse) ProtoReflect() protoreflect.Message } func (x *MsgSubstationPlayerMigrateResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[93] + mi := &file_structs_structs_tx_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47699,7 +51981,7 @@ func (x *MsgAgreementOpen) ProtoReflect() protoreflect.Message { } func (x *MsgAgreementOpen) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[94] + mi := &file_structs_structs_tx_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48275,7 +52557,7 @@ func (x *MsgAgreementClose) ProtoReflect() protoreflect.Message { } func (x *MsgAgreementClose) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[95] + mi := &file_structs_structs_tx_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48761,7 +53043,7 @@ func (x *MsgAgreementCapacityIncrease) ProtoReflect() protoreflect.Message { } func (x *MsgAgreementCapacityIncrease) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[96] + mi := &file_structs_structs_tx_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49293,7 +53575,7 @@ func (x *MsgAgreementCapacityDecrease) ProtoReflect() protoreflect.Message { } func (x *MsgAgreementCapacityDecrease) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[97] + mi := &file_structs_structs_tx_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49825,7 +54107,7 @@ func (x *MsgAgreementDurationIncrease) ProtoReflect() protoreflect.Message { } func (x *MsgAgreementDurationIncrease) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[98] + mi := &file_structs_structs_tx_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50351,7 +54633,7 @@ func (x *MsgAgreementResponse) ProtoReflect() protoreflect.Message { } func (x *MsgAgreementResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[99] + mi := &file_structs_structs_tx_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50727,7 +55009,7 @@ func (x *MsgProviderCreate) ProtoReflect() protoreflect.Message { } func (x *MsgProviderCreate) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[100] + mi := &file_structs_structs_tx_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51644,7 +55926,7 @@ func (x *MsgProviderWithdrawBalance) ProtoReflect() protoreflect.Message { } func (x *MsgProviderWithdrawBalance) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[101] + mi := &file_structs_structs_tx_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52192,7 +56474,7 @@ func (x *MsgProviderUpdateCapacityMinimum) ProtoReflect() protoreflect.Message { } func (x *MsgProviderUpdateCapacityMinimum) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[102] + mi := &file_structs_structs_tx_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52724,7 +57006,7 @@ func (x *MsgProviderUpdateCapacityMaximum) ProtoReflect() protoreflect.Message { } func (x *MsgProviderUpdateCapacityMaximum) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[103] + mi := &file_structs_structs_tx_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53256,7 +57538,7 @@ func (x *MsgProviderUpdateDurationMinimum) ProtoReflect() protoreflect.Message { } func (x *MsgProviderUpdateDurationMinimum) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[104] + mi := &file_structs_structs_tx_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53788,7 +58070,7 @@ func (x *MsgProviderUpdateDurationMaximum) ProtoReflect() protoreflect.Message { } func (x *MsgProviderUpdateDurationMaximum) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[105] + mi := &file_structs_structs_tx_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54320,7 +58602,7 @@ func (x *MsgProviderUpdateAccessPolicy) ProtoReflect() protoreflect.Message { } func (x *MsgProviderUpdateAccessPolicy) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[106] + mi := &file_structs_structs_tx_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54898,7 +59180,7 @@ func (x *MsgProviderGuildGrant) ProtoReflect() protoreflect.Message { } func (x *MsgProviderGuildGrant) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[107] + mi := &file_structs_structs_tx_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55506,7 +59788,7 @@ func (x *MsgProviderGuildRevoke) ProtoReflect() protoreflect.Message { } func (x *MsgProviderGuildRevoke) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[108] + mi := &file_structs_structs_tx_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56066,7 +60348,7 @@ func (x *MsgProviderDelete) ProtoReflect() protoreflect.Message { } func (x *MsgProviderDelete) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[109] + mi := &file_structs_structs_tx_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56546,7 +60828,7 @@ func (x *MsgProviderResponse) ProtoReflect() protoreflect.Message { } func (x *MsgProviderResponse) slowProtoReflect() protoreflect.Message { - mi := &file_structs_structs_tx_proto_msgTypes[110] + mi := &file_structs_structs_tx_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59572,6 +63854,408 @@ func (*MsgPlayerResumeResponse) Descriptor() ([]byte, []int) { return file_structs_structs_tx_proto_rawDescGZIP(), []int{57} } +// MsgReactorInfuse defines a SDK message for performing a delegation of coins +// from a delegator to a validator. +type MsgReactorInfuse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,3,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgReactorInfuse) Reset() { + *x = MsgReactorInfuse{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorInfuse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorInfuse) ProtoMessage() {} + +// Deprecated: Use MsgReactorInfuse.ProtoReflect.Descriptor instead. +func (*MsgReactorInfuse) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{58} +} + +func (x *MsgReactorInfuse) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgReactorInfuse) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgReactorInfuse) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgReactorInfuse) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgReactorInfuseResponse defines the Msg/Delegate response type. +type MsgReactorInfuseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgReactorInfuseResponse) Reset() { + *x = MsgReactorInfuseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorInfuseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorInfuseResponse) ProtoMessage() {} + +// Deprecated: Use MsgReactorInfuseResponse.ProtoReflect.Descriptor instead. +func (*MsgReactorInfuseResponse) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{59} +} + +// MsgReactorBeginMigration defines a SDK message for performing a redelegation +// of coins from a delegator and source validator to a destination validator. +type MsgReactorBeginMigration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorSrcAddress string `protobuf:"bytes,3,opt,name=validator_src_address,json=validatorSrcAddress,proto3" json:"validator_src_address,omitempty"` + ValidatorDstAddress string `protobuf:"bytes,4,opt,name=validator_dst_address,json=validatorDstAddress,proto3" json:"validator_dst_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,5,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgReactorBeginMigration) Reset() { + *x = MsgReactorBeginMigration{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorBeginMigration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorBeginMigration) ProtoMessage() {} + +// Deprecated: Use MsgReactorBeginMigration.ProtoReflect.Descriptor instead. +func (*MsgReactorBeginMigration) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{60} +} + +func (x *MsgReactorBeginMigration) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgReactorBeginMigration) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgReactorBeginMigration) GetValidatorSrcAddress() string { + if x != nil { + return x.ValidatorSrcAddress + } + return "" +} + +func (x *MsgReactorBeginMigration) GetValidatorDstAddress() string { + if x != nil { + return x.ValidatorDstAddress + } + return "" +} + +func (x *MsgReactorBeginMigration) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgBeginMigrationResponse defines the Msg/BeginRedelegate response type. +type MsgReactorBeginMigrationResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` +} + +func (x *MsgReactorBeginMigrationResponse) Reset() { + *x = MsgReactorBeginMigrationResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorBeginMigrationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorBeginMigrationResponse) ProtoMessage() {} + +// Deprecated: Use MsgReactorBeginMigrationResponse.ProtoReflect.Descriptor instead. +func (*MsgReactorBeginMigrationResponse) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{61} +} + +func (x *MsgReactorBeginMigrationResponse) GetCompletionTime() *timestamppb.Timestamp { + if x != nil { + return x.CompletionTime + } + return nil +} + +// MsgReactorDefuse defines a SDK message for performing an undelegation from a +// delegate and a validator. +type MsgReactorDefuse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,3,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount *v1beta1.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgReactorDefuse) Reset() { + *x = MsgReactorDefuse{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorDefuse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorDefuse) ProtoMessage() {} + +// Deprecated: Use MsgReactorDefuse.ProtoReflect.Descriptor instead. +func (*MsgReactorDefuse) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{62} +} + +func (x *MsgReactorDefuse) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgReactorDefuse) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgReactorDefuse) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgReactorDefuse) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgReactorDefuseResponse defines the Msg/Undelegate response type. +type MsgReactorDefuseResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CompletionTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"` + // amount returns the amount of undelegated coins + // + // Since: cosmos-sdk 0.50 + Amount *v1beta1.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgReactorDefuseResponse) Reset() { + *x = MsgReactorDefuseResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorDefuseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorDefuseResponse) ProtoMessage() {} + +// Deprecated: Use MsgReactorDefuseResponse.ProtoReflect.Descriptor instead. +func (*MsgReactorDefuseResponse) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{63} +} + +func (x *MsgReactorDefuseResponse) GetCompletionTime() *timestamppb.Timestamp { + if x != nil { + return x.CompletionTime + } + return nil +} + +func (x *MsgReactorDefuseResponse) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgReactorCancelDefusion defines the SDK message for performing a cancel unbonding delegation for delegator +// +// Since: cosmos-sdk 0.46 +type MsgReactorCancelDefusion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,3,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + // amount is always less than or equal to unbonding delegation entry balance + Amount *v1beta1.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` + // creation_height is the height which the unbonding took place. + CreationHeight int64 `protobuf:"varint,5,opt,name=creation_height,json=creationHeight,proto3" json:"creation_height,omitempty"` +} + +func (x *MsgReactorCancelDefusion) Reset() { + *x = MsgReactorCancelDefusion{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorCancelDefusion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorCancelDefusion) ProtoMessage() {} + +// Deprecated: Use MsgReactorCancelDefusion.ProtoReflect.Descriptor instead. +func (*MsgReactorCancelDefusion) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{64} +} + +func (x *MsgReactorCancelDefusion) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *MsgReactorCancelDefusion) GetDelegatorAddress() string { + if x != nil { + return x.DelegatorAddress + } + return "" +} + +func (x *MsgReactorCancelDefusion) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgReactorCancelDefusion) GetAmount() *v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +func (x *MsgReactorCancelDefusion) GetCreationHeight() int64 { + if x != nil { + return x.CreationHeight + } + return 0 +} + +// MsgReactorCancelDefusionResponse +// +// Since: cosmos-sdk 0.46 +type MsgReactorCancelDefusionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgReactorCancelDefusionResponse) Reset() { + *x = MsgReactorCancelDefusionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_structs_structs_tx_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgReactorCancelDefusionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgReactorCancelDefusionResponse) ProtoMessage() {} + +// Deprecated: Use MsgReactorCancelDefusionResponse.ProtoReflect.Descriptor instead. +func (*MsgReactorCancelDefusionResponse) Descriptor() ([]byte, []int) { + return file_structs_structs_tx_proto_rawDescGZIP(), []int{65} +} + type MsgStructStatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -59583,7 +64267,7 @@ type MsgStructStatusResponse struct { func (x *MsgStructStatusResponse) Reset() { *x = MsgStructStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[58] + mi := &file_structs_structs_tx_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59597,7 +64281,7 @@ func (*MsgStructStatusResponse) ProtoMessage() {} // Deprecated: Use MsgStructStatusResponse.ProtoReflect.Descriptor instead. func (*MsgStructStatusResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{58} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{66} } func (x *MsgStructStatusResponse) GetStruct() *Struct { @@ -59619,7 +64303,7 @@ type MsgStructActivate struct { func (x *MsgStructActivate) Reset() { *x = MsgStructActivate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[59] + mi := &file_structs_structs_tx_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59633,7 +64317,7 @@ func (*MsgStructActivate) ProtoMessage() {} // Deprecated: Use MsgStructActivate.ProtoReflect.Descriptor instead. func (*MsgStructActivate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{59} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{67} } func (x *MsgStructActivate) GetCreator() string { @@ -59662,7 +64346,7 @@ type MsgStructDeactivate struct { func (x *MsgStructDeactivate) Reset() { *x = MsgStructDeactivate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[60] + mi := &file_structs_structs_tx_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59676,7 +64360,7 @@ func (*MsgStructDeactivate) ProtoMessage() {} // Deprecated: Use MsgStructDeactivate.ProtoReflect.Descriptor instead. func (*MsgStructDeactivate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{60} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{68} } func (x *MsgStructDeactivate) GetCreator() string { @@ -59709,7 +64393,7 @@ type MsgStructBuildInitiate struct { func (x *MsgStructBuildInitiate) Reset() { *x = MsgStructBuildInitiate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[61] + mi := &file_structs_structs_tx_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59723,7 +64407,7 @@ func (*MsgStructBuildInitiate) ProtoMessage() {} // Deprecated: Use MsgStructBuildInitiate.ProtoReflect.Descriptor instead. func (*MsgStructBuildInitiate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{61} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{69} } func (x *MsgStructBuildInitiate) GetCreator() string { @@ -59775,7 +64459,7 @@ type MsgStructBuildComplete struct { func (x *MsgStructBuildComplete) Reset() { *x = MsgStructBuildComplete{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[62] + mi := &file_structs_structs_tx_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59789,7 +64473,7 @@ func (*MsgStructBuildComplete) ProtoMessage() {} // Deprecated: Use MsgStructBuildComplete.ProtoReflect.Descriptor instead. func (*MsgStructBuildComplete) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{62} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{70} } func (x *MsgStructBuildComplete) GetCreator() string { @@ -59832,7 +64516,7 @@ type MsgStructBuildCancel struct { func (x *MsgStructBuildCancel) Reset() { *x = MsgStructBuildCancel{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[63] + mi := &file_structs_structs_tx_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59846,7 +64530,7 @@ func (*MsgStructBuildCancel) ProtoMessage() {} // Deprecated: Use MsgStructBuildCancel.ProtoReflect.Descriptor instead. func (*MsgStructBuildCancel) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{63} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{71} } func (x *MsgStructBuildCancel) GetCreator() string { @@ -59880,7 +64564,7 @@ type MsgStructBuildCompleteAndStash struct { func (x *MsgStructBuildCompleteAndStash) Reset() { *x = MsgStructBuildCompleteAndStash{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[64] + mi := &file_structs_structs_tx_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59894,7 +64578,7 @@ func (*MsgStructBuildCompleteAndStash) ProtoMessage() {} // Deprecated: Use MsgStructBuildCompleteAndStash.ProtoReflect.Descriptor instead. func (*MsgStructBuildCompleteAndStash) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{64} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{72} } func (x *MsgStructBuildCompleteAndStash) GetCreator() string { @@ -59959,7 +64643,7 @@ type MsgStructDefenseSet struct { func (x *MsgStructDefenseSet) Reset() { *x = MsgStructDefenseSet{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[65] + mi := &file_structs_structs_tx_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59973,7 +64657,7 @@ func (*MsgStructDefenseSet) ProtoMessage() {} // Deprecated: Use MsgStructDefenseSet.ProtoReflect.Descriptor instead. func (*MsgStructDefenseSet) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{65} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{73} } func (x *MsgStructDefenseSet) GetCreator() string { @@ -60009,7 +64693,7 @@ type MsgStructDefenseClear struct { func (x *MsgStructDefenseClear) Reset() { *x = MsgStructDefenseClear{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[66] + mi := &file_structs_structs_tx_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60023,7 +64707,7 @@ func (*MsgStructDefenseClear) ProtoMessage() {} // Deprecated: Use MsgStructDefenseClear.ProtoReflect.Descriptor instead. func (*MsgStructDefenseClear) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{66} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{74} } func (x *MsgStructDefenseClear) GetCreator() string { @@ -60055,7 +64739,7 @@ type MsgStructMove struct { func (x *MsgStructMove) Reset() { *x = MsgStructMove{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[67] + mi := &file_structs_structs_tx_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60069,7 +64753,7 @@ func (*MsgStructMove) ProtoMessage() {} // Deprecated: Use MsgStructMove.ProtoReflect.Descriptor instead. func (*MsgStructMove) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{67} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{75} } func (x *MsgStructMove) GetCreator() string { @@ -60121,7 +64805,7 @@ type MsgStructAttack struct { func (x *MsgStructAttack) Reset() { *x = MsgStructAttack{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[68] + mi := &file_structs_structs_tx_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60135,7 +64819,7 @@ func (*MsgStructAttack) ProtoMessage() {} // Deprecated: Use MsgStructAttack.ProtoReflect.Descriptor instead. func (*MsgStructAttack) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{68} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{76} } func (x *MsgStructAttack) GetCreator() string { @@ -60175,7 +64859,7 @@ type MsgStructAttackResponse struct { func (x *MsgStructAttackResponse) Reset() { *x = MsgStructAttackResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[69] + mi := &file_structs_structs_tx_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60189,7 +64873,7 @@ func (*MsgStructAttackResponse) ProtoMessage() {} // Deprecated: Use MsgStructAttackResponse.ProtoReflect.Descriptor instead. func (*MsgStructAttackResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{69} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{77} } type MsgStructStealthActivate struct { @@ -60204,7 +64888,7 @@ type MsgStructStealthActivate struct { func (x *MsgStructStealthActivate) Reset() { *x = MsgStructStealthActivate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[70] + mi := &file_structs_structs_tx_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60218,7 +64902,7 @@ func (*MsgStructStealthActivate) ProtoMessage() {} // Deprecated: Use MsgStructStealthActivate.ProtoReflect.Descriptor instead. func (*MsgStructStealthActivate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{70} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{78} } func (x *MsgStructStealthActivate) GetCreator() string { @@ -60247,7 +64931,7 @@ type MsgStructStealthDeactivate struct { func (x *MsgStructStealthDeactivate) Reset() { *x = MsgStructStealthDeactivate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[71] + mi := &file_structs_structs_tx_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60261,7 +64945,7 @@ func (*MsgStructStealthDeactivate) ProtoMessage() {} // Deprecated: Use MsgStructStealthDeactivate.ProtoReflect.Descriptor instead. func (*MsgStructStealthDeactivate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{71} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{79} } func (x *MsgStructStealthDeactivate) GetCreator() string { @@ -60291,7 +64975,7 @@ type MsgStructGeneratorInfuse struct { func (x *MsgStructGeneratorInfuse) Reset() { *x = MsgStructGeneratorInfuse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[72] + mi := &file_structs_structs_tx_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60305,7 +64989,7 @@ func (*MsgStructGeneratorInfuse) ProtoMessage() {} // Deprecated: Use MsgStructGeneratorInfuse.ProtoReflect.Descriptor instead. func (*MsgStructGeneratorInfuse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{72} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{80} } func (x *MsgStructGeneratorInfuse) GetCreator() string { @@ -60338,7 +65022,7 @@ type MsgStructGeneratorStatusResponse struct { func (x *MsgStructGeneratorStatusResponse) Reset() { *x = MsgStructGeneratorStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[73] + mi := &file_structs_structs_tx_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60352,7 +65036,7 @@ func (*MsgStructGeneratorStatusResponse) ProtoMessage() {} // Deprecated: Use MsgStructGeneratorStatusResponse.ProtoReflect.Descriptor instead. func (*MsgStructGeneratorStatusResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{73} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{81} } type MsgStructOreMinerComplete struct { @@ -60369,7 +65053,7 @@ type MsgStructOreMinerComplete struct { func (x *MsgStructOreMinerComplete) Reset() { *x = MsgStructOreMinerComplete{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[74] + mi := &file_structs_structs_tx_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60383,7 +65067,7 @@ func (*MsgStructOreMinerComplete) ProtoMessage() {} // Deprecated: Use MsgStructOreMinerComplete.ProtoReflect.Descriptor instead. func (*MsgStructOreMinerComplete) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{74} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{82} } func (x *MsgStructOreMinerComplete) GetCreator() string { @@ -60425,7 +65109,7 @@ type MsgStructOreMinerStatusResponse struct { func (x *MsgStructOreMinerStatusResponse) Reset() { *x = MsgStructOreMinerStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[75] + mi := &file_structs_structs_tx_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60439,7 +65123,7 @@ func (*MsgStructOreMinerStatusResponse) ProtoMessage() {} // Deprecated: Use MsgStructOreMinerStatusResponse.ProtoReflect.Descriptor instead. func (*MsgStructOreMinerStatusResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{75} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{83} } func (x *MsgStructOreMinerStatusResponse) GetStruct() *Struct { @@ -60463,7 +65147,7 @@ type MsgStructOreRefineryComplete struct { func (x *MsgStructOreRefineryComplete) Reset() { *x = MsgStructOreRefineryComplete{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[76] + mi := &file_structs_structs_tx_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60477,7 +65161,7 @@ func (*MsgStructOreRefineryComplete) ProtoMessage() {} // Deprecated: Use MsgStructOreRefineryComplete.ProtoReflect.Descriptor instead. func (*MsgStructOreRefineryComplete) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{76} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{84} } func (x *MsgStructOreRefineryComplete) GetCreator() string { @@ -60519,7 +65203,7 @@ type MsgStructOreRefineryStatusResponse struct { func (x *MsgStructOreRefineryStatusResponse) Reset() { *x = MsgStructOreRefineryStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[77] + mi := &file_structs_structs_tx_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60533,7 +65217,7 @@ func (*MsgStructOreRefineryStatusResponse) ProtoMessage() {} // Deprecated: Use MsgStructOreRefineryStatusResponse.ProtoReflect.Descriptor instead. func (*MsgStructOreRefineryStatusResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{77} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{85} } func (x *MsgStructOreRefineryStatusResponse) GetStruct() *Struct { @@ -60558,7 +65242,7 @@ type MsgStructStorageStash struct { func (x *MsgStructStorageStash) Reset() { *x = MsgStructStorageStash{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[78] + mi := &file_structs_structs_tx_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60572,7 +65256,7 @@ func (*MsgStructStorageStash) ProtoMessage() {} // Deprecated: Use MsgStructStorageStash.ProtoReflect.Descriptor instead. func (*MsgStructStorageStash) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{78} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{86} } func (x *MsgStructStorageStash) GetCreator() string { @@ -60626,7 +65310,7 @@ type MsgStructStorageRecall struct { func (x *MsgStructStorageRecall) Reset() { *x = MsgStructStorageRecall{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[79] + mi := &file_structs_structs_tx_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60640,7 +65324,7 @@ func (*MsgStructStorageRecall) ProtoMessage() {} // Deprecated: Use MsgStructStorageRecall.ProtoReflect.Descriptor instead. func (*MsgStructStorageRecall) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{79} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{87} } func (x *MsgStructStorageRecall) GetCreator() string { @@ -60698,7 +65382,7 @@ type MsgSubstationCreate struct { func (x *MsgSubstationCreate) Reset() { *x = MsgSubstationCreate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[80] + mi := &file_structs_structs_tx_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60712,7 +65396,7 @@ func (*MsgSubstationCreate) ProtoMessage() {} // Deprecated: Use MsgSubstationCreate.ProtoReflect.Descriptor instead. func (*MsgSubstationCreate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{80} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{88} } func (x *MsgSubstationCreate) GetCreator() string { @@ -60747,7 +65431,7 @@ type MsgSubstationCreateResponse struct { func (x *MsgSubstationCreateResponse) Reset() { *x = MsgSubstationCreateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[81] + mi := &file_structs_structs_tx_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60761,7 +65445,7 @@ func (*MsgSubstationCreateResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationCreateResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationCreateResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{81} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{89} } func (x *MsgSubstationCreateResponse) GetSubstationId() string { @@ -60784,7 +65468,7 @@ type MsgSubstationDelete struct { func (x *MsgSubstationDelete) Reset() { *x = MsgSubstationDelete{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[82] + mi := &file_structs_structs_tx_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60798,7 +65482,7 @@ func (*MsgSubstationDelete) ProtoMessage() {} // Deprecated: Use MsgSubstationDelete.ProtoReflect.Descriptor instead. func (*MsgSubstationDelete) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{82} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{90} } func (x *MsgSubstationDelete) GetCreator() string { @@ -60831,7 +65515,7 @@ type MsgSubstationDeleteResponse struct { func (x *MsgSubstationDeleteResponse) Reset() { *x = MsgSubstationDeleteResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[83] + mi := &file_structs_structs_tx_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60845,7 +65529,7 @@ func (*MsgSubstationDeleteResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationDeleteResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationDeleteResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{83} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{91} } type MsgSubstationAllocationConnect struct { @@ -60861,7 +65545,7 @@ type MsgSubstationAllocationConnect struct { func (x *MsgSubstationAllocationConnect) Reset() { *x = MsgSubstationAllocationConnect{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[84] + mi := &file_structs_structs_tx_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60875,7 +65559,7 @@ func (*MsgSubstationAllocationConnect) ProtoMessage() {} // Deprecated: Use MsgSubstationAllocationConnect.ProtoReflect.Descriptor instead. func (*MsgSubstationAllocationConnect) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{84} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{92} } func (x *MsgSubstationAllocationConnect) GetCreator() string { @@ -60908,7 +65592,7 @@ type MsgSubstationAllocationConnectResponse struct { func (x *MsgSubstationAllocationConnectResponse) Reset() { *x = MsgSubstationAllocationConnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[85] + mi := &file_structs_structs_tx_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60922,7 +65606,7 @@ func (*MsgSubstationAllocationConnectResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationAllocationConnectResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationAllocationConnectResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{85} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{93} } type MsgSubstationAllocationDisconnect struct { @@ -60937,7 +65621,7 @@ type MsgSubstationAllocationDisconnect struct { func (x *MsgSubstationAllocationDisconnect) Reset() { *x = MsgSubstationAllocationDisconnect{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[86] + mi := &file_structs_structs_tx_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60951,7 +65635,7 @@ func (*MsgSubstationAllocationDisconnect) ProtoMessage() {} // Deprecated: Use MsgSubstationAllocationDisconnect.ProtoReflect.Descriptor instead. func (*MsgSubstationAllocationDisconnect) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{86} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{94} } func (x *MsgSubstationAllocationDisconnect) GetCreator() string { @@ -60977,7 +65661,7 @@ type MsgSubstationAllocationDisconnectResponse struct { func (x *MsgSubstationAllocationDisconnectResponse) Reset() { *x = MsgSubstationAllocationDisconnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[87] + mi := &file_structs_structs_tx_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60991,7 +65675,7 @@ func (*MsgSubstationAllocationDisconnectResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationAllocationDisconnectResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationAllocationDisconnectResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{87} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{95} } type MsgSubstationPlayerConnect struct { @@ -61007,7 +65691,7 @@ type MsgSubstationPlayerConnect struct { func (x *MsgSubstationPlayerConnect) Reset() { *x = MsgSubstationPlayerConnect{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[88] + mi := &file_structs_structs_tx_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61021,7 +65705,7 @@ func (*MsgSubstationPlayerConnect) ProtoMessage() {} // Deprecated: Use MsgSubstationPlayerConnect.ProtoReflect.Descriptor instead. func (*MsgSubstationPlayerConnect) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{88} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{96} } func (x *MsgSubstationPlayerConnect) GetCreator() string { @@ -61054,7 +65738,7 @@ type MsgSubstationPlayerConnectResponse struct { func (x *MsgSubstationPlayerConnectResponse) Reset() { *x = MsgSubstationPlayerConnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[89] + mi := &file_structs_structs_tx_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61068,7 +65752,7 @@ func (*MsgSubstationPlayerConnectResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationPlayerConnectResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationPlayerConnectResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{89} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{97} } type MsgSubstationPlayerDisconnect struct { @@ -61083,7 +65767,7 @@ type MsgSubstationPlayerDisconnect struct { func (x *MsgSubstationPlayerDisconnect) Reset() { *x = MsgSubstationPlayerDisconnect{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[90] + mi := &file_structs_structs_tx_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61097,7 +65781,7 @@ func (*MsgSubstationPlayerDisconnect) ProtoMessage() {} // Deprecated: Use MsgSubstationPlayerDisconnect.ProtoReflect.Descriptor instead. func (*MsgSubstationPlayerDisconnect) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{90} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{98} } func (x *MsgSubstationPlayerDisconnect) GetCreator() string { @@ -61123,7 +65807,7 @@ type MsgSubstationPlayerDisconnectResponse struct { func (x *MsgSubstationPlayerDisconnectResponse) Reset() { *x = MsgSubstationPlayerDisconnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[91] + mi := &file_structs_structs_tx_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61137,7 +65821,7 @@ func (*MsgSubstationPlayerDisconnectResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationPlayerDisconnectResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationPlayerDisconnectResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{91} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{99} } type MsgSubstationPlayerMigrate struct { @@ -61153,7 +65837,7 @@ type MsgSubstationPlayerMigrate struct { func (x *MsgSubstationPlayerMigrate) Reset() { *x = MsgSubstationPlayerMigrate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[92] + mi := &file_structs_structs_tx_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61167,7 +65851,7 @@ func (*MsgSubstationPlayerMigrate) ProtoMessage() {} // Deprecated: Use MsgSubstationPlayerMigrate.ProtoReflect.Descriptor instead. func (*MsgSubstationPlayerMigrate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{92} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{100} } func (x *MsgSubstationPlayerMigrate) GetCreator() string { @@ -61200,7 +65884,7 @@ type MsgSubstationPlayerMigrateResponse struct { func (x *MsgSubstationPlayerMigrateResponse) Reset() { *x = MsgSubstationPlayerMigrateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[93] + mi := &file_structs_structs_tx_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61214,7 +65898,7 @@ func (*MsgSubstationPlayerMigrateResponse) ProtoMessage() {} // Deprecated: Use MsgSubstationPlayerMigrateResponse.ProtoReflect.Descriptor instead. func (*MsgSubstationPlayerMigrateResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{93} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{101} } type MsgAgreementOpen struct { @@ -61231,7 +65915,7 @@ type MsgAgreementOpen struct { func (x *MsgAgreementOpen) Reset() { *x = MsgAgreementOpen{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[94] + mi := &file_structs_structs_tx_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61245,7 +65929,7 @@ func (*MsgAgreementOpen) ProtoMessage() {} // Deprecated: Use MsgAgreementOpen.ProtoReflect.Descriptor instead. func (*MsgAgreementOpen) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{94} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{102} } func (x *MsgAgreementOpen) GetCreator() string { @@ -61288,7 +65972,7 @@ type MsgAgreementClose struct { func (x *MsgAgreementClose) Reset() { *x = MsgAgreementClose{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[95] + mi := &file_structs_structs_tx_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61302,7 +65986,7 @@ func (*MsgAgreementClose) ProtoMessage() {} // Deprecated: Use MsgAgreementClose.ProtoReflect.Descriptor instead. func (*MsgAgreementClose) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{95} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{103} } func (x *MsgAgreementClose) GetCreator() string { @@ -61332,7 +66016,7 @@ type MsgAgreementCapacityIncrease struct { func (x *MsgAgreementCapacityIncrease) Reset() { *x = MsgAgreementCapacityIncrease{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[96] + mi := &file_structs_structs_tx_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61346,7 +66030,7 @@ func (*MsgAgreementCapacityIncrease) ProtoMessage() {} // Deprecated: Use MsgAgreementCapacityIncrease.ProtoReflect.Descriptor instead. func (*MsgAgreementCapacityIncrease) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{96} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{104} } func (x *MsgAgreementCapacityIncrease) GetCreator() string { @@ -61383,7 +66067,7 @@ type MsgAgreementCapacityDecrease struct { func (x *MsgAgreementCapacityDecrease) Reset() { *x = MsgAgreementCapacityDecrease{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[97] + mi := &file_structs_structs_tx_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61397,7 +66081,7 @@ func (*MsgAgreementCapacityDecrease) ProtoMessage() {} // Deprecated: Use MsgAgreementCapacityDecrease.ProtoReflect.Descriptor instead. func (*MsgAgreementCapacityDecrease) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{97} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{105} } func (x *MsgAgreementCapacityDecrease) GetCreator() string { @@ -61434,7 +66118,7 @@ type MsgAgreementDurationIncrease struct { func (x *MsgAgreementDurationIncrease) Reset() { *x = MsgAgreementDurationIncrease{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[98] + mi := &file_structs_structs_tx_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61448,7 +66132,7 @@ func (*MsgAgreementDurationIncrease) ProtoMessage() {} // Deprecated: Use MsgAgreementDurationIncrease.ProtoReflect.Descriptor instead. func (*MsgAgreementDurationIncrease) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{98} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{106} } func (x *MsgAgreementDurationIncrease) GetCreator() string { @@ -61481,7 +66165,7 @@ type MsgAgreementResponse struct { func (x *MsgAgreementResponse) Reset() { *x = MsgAgreementResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[99] + mi := &file_structs_structs_tx_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61495,7 +66179,7 @@ func (*MsgAgreementResponse) ProtoMessage() {} // Deprecated: Use MsgAgreementResponse.ProtoReflect.Descriptor instead. func (*MsgAgreementResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{99} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{107} } type MsgProviderCreate struct { @@ -61518,7 +66202,7 @@ type MsgProviderCreate struct { func (x *MsgProviderCreate) Reset() { *x = MsgProviderCreate{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[100] + mi := &file_structs_structs_tx_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61532,7 +66216,7 @@ func (*MsgProviderCreate) ProtoMessage() {} // Deprecated: Use MsgProviderCreate.ProtoReflect.Descriptor instead. func (*MsgProviderCreate) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{100} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{108} } func (x *MsgProviderCreate) GetCreator() string { @@ -61618,7 +66302,7 @@ type MsgProviderWithdrawBalance struct { func (x *MsgProviderWithdrawBalance) Reset() { *x = MsgProviderWithdrawBalance{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[101] + mi := &file_structs_structs_tx_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61632,7 +66316,7 @@ func (*MsgProviderWithdrawBalance) ProtoMessage() {} // Deprecated: Use MsgProviderWithdrawBalance.ProtoReflect.Descriptor instead. func (*MsgProviderWithdrawBalance) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{101} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{109} } func (x *MsgProviderWithdrawBalance) GetCreator() string { @@ -61669,7 +66353,7 @@ type MsgProviderUpdateCapacityMinimum struct { func (x *MsgProviderUpdateCapacityMinimum) Reset() { *x = MsgProviderUpdateCapacityMinimum{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[102] + mi := &file_structs_structs_tx_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61683,7 +66367,7 @@ func (*MsgProviderUpdateCapacityMinimum) ProtoMessage() {} // Deprecated: Use MsgProviderUpdateCapacityMinimum.ProtoReflect.Descriptor instead. func (*MsgProviderUpdateCapacityMinimum) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{102} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{110} } func (x *MsgProviderUpdateCapacityMinimum) GetCreator() string { @@ -61720,7 +66404,7 @@ type MsgProviderUpdateCapacityMaximum struct { func (x *MsgProviderUpdateCapacityMaximum) Reset() { *x = MsgProviderUpdateCapacityMaximum{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[103] + mi := &file_structs_structs_tx_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61734,7 +66418,7 @@ func (*MsgProviderUpdateCapacityMaximum) ProtoMessage() {} // Deprecated: Use MsgProviderUpdateCapacityMaximum.ProtoReflect.Descriptor instead. func (*MsgProviderUpdateCapacityMaximum) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{103} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{111} } func (x *MsgProviderUpdateCapacityMaximum) GetCreator() string { @@ -61771,7 +66455,7 @@ type MsgProviderUpdateDurationMinimum struct { func (x *MsgProviderUpdateDurationMinimum) Reset() { *x = MsgProviderUpdateDurationMinimum{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[104] + mi := &file_structs_structs_tx_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61785,7 +66469,7 @@ func (*MsgProviderUpdateDurationMinimum) ProtoMessage() {} // Deprecated: Use MsgProviderUpdateDurationMinimum.ProtoReflect.Descriptor instead. func (*MsgProviderUpdateDurationMinimum) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{104} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{112} } func (x *MsgProviderUpdateDurationMinimum) GetCreator() string { @@ -61822,7 +66506,7 @@ type MsgProviderUpdateDurationMaximum struct { func (x *MsgProviderUpdateDurationMaximum) Reset() { *x = MsgProviderUpdateDurationMaximum{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[105] + mi := &file_structs_structs_tx_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61836,7 +66520,7 @@ func (*MsgProviderUpdateDurationMaximum) ProtoMessage() {} // Deprecated: Use MsgProviderUpdateDurationMaximum.ProtoReflect.Descriptor instead. func (*MsgProviderUpdateDurationMaximum) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{105} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{113} } func (x *MsgProviderUpdateDurationMaximum) GetCreator() string { @@ -61873,7 +66557,7 @@ type MsgProviderUpdateAccessPolicy struct { func (x *MsgProviderUpdateAccessPolicy) Reset() { *x = MsgProviderUpdateAccessPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[106] + mi := &file_structs_structs_tx_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61887,7 +66571,7 @@ func (*MsgProviderUpdateAccessPolicy) ProtoMessage() {} // Deprecated: Use MsgProviderUpdateAccessPolicy.ProtoReflect.Descriptor instead. func (*MsgProviderUpdateAccessPolicy) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{106} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{114} } func (x *MsgProviderUpdateAccessPolicy) GetCreator() string { @@ -61924,7 +66608,7 @@ type MsgProviderGuildGrant struct { func (x *MsgProviderGuildGrant) Reset() { *x = MsgProviderGuildGrant{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[107] + mi := &file_structs_structs_tx_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61938,7 +66622,7 @@ func (*MsgProviderGuildGrant) ProtoMessage() {} // Deprecated: Use MsgProviderGuildGrant.ProtoReflect.Descriptor instead. func (*MsgProviderGuildGrant) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{107} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{115} } func (x *MsgProviderGuildGrant) GetCreator() string { @@ -61975,7 +66659,7 @@ type MsgProviderGuildRevoke struct { func (x *MsgProviderGuildRevoke) Reset() { *x = MsgProviderGuildRevoke{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[108] + mi := &file_structs_structs_tx_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61989,7 +66673,7 @@ func (*MsgProviderGuildRevoke) ProtoMessage() {} // Deprecated: Use MsgProviderGuildRevoke.ProtoReflect.Descriptor instead. func (*MsgProviderGuildRevoke) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{108} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{116} } func (x *MsgProviderGuildRevoke) GetCreator() string { @@ -62025,7 +66709,7 @@ type MsgProviderDelete struct { func (x *MsgProviderDelete) Reset() { *x = MsgProviderDelete{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[109] + mi := &file_structs_structs_tx_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62039,7 +66723,7 @@ func (*MsgProviderDelete) ProtoMessage() {} // Deprecated: Use MsgProviderDelete.ProtoReflect.Descriptor instead. func (*MsgProviderDelete) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{109} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{117} } func (x *MsgProviderDelete) GetCreator() string { @@ -62065,7 +66749,7 @@ type MsgProviderResponse struct { func (x *MsgProviderResponse) Reset() { *x = MsgProviderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_structs_structs_tx_proto_msgTypes[110] + mi := &file_structs_structs_tx_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62079,7 +66763,7 @@ func (*MsgProviderResponse) ProtoMessage() {} // Deprecated: Use MsgProviderResponse.ProtoReflect.Descriptor instead. func (*MsgProviderResponse) Descriptor() ([]byte, []int) { - return file_structs_structs_tx_proto_rawDescGZIP(), []int{110} + return file_structs_structs_tx_proto_rawDescGZIP(), []int{118} } var File_structs_structs_tx_proto protoreflect.FileDescriptor @@ -62097,214 +66781,203 @@ var file_structs_structs_tx_proto_rawDesc = []byte{ 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2f, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, 0x09, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x3a, 0x34, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x8a, 0xe7, 0xb0, 0x2a, 0x21, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x78, 0x2f, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xde, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6f, - 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, - 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x54, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0e, - 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x1b, 0x4d, 0x73, 0x67, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x13, - 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, - 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x41, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, - 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2f, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2f, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x01, 0x0a, 0x0f, 0x4d, 0x73, + 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x36, 0x0a, + 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x3a, 0x34, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x8a, 0xe7, 0xb0, 0x2a, 0x21, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x78, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, + 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x70, + 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x54, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x47, 0x0a, + 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x1b, 0x4d, 0x73, + 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, + 0x13, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, + 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x77, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, + 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x41, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x1b, + 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, + 0x83, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x1b, 0x4d, - 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x83, - 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x4d, 0x73, - 0x67, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x12, 0x34, - 0x0a, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x66, 0x6c, - 0x65, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x65, 0x65, - 0x74, 0x52, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x22, 0x7e, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x0c, 0x4d, + 0x73, 0x67, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x34, 0x0a, 0x15, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x44, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x66, + 0x6c, 0x65, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x65, + 0x65, 0x74, 0x52, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x22, 0x7e, 0x0a, 0x10, 0x4d, 0x73, 0x67, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x41, 0x6c, 0x70, 0x68, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x61, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x72, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x72, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0b, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, 0x74, 0x65, - 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x25, 0x4d, - 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x73, 0x63, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1c, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, 0x74, + 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x25, + 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x73, 0x63, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 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, 0x2c, + 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x16, 0x4d, 0x73, + 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x6f, + 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 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, 0x2c, 0x0a, - 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, - 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x16, 0x4d, 0x73, 0x67, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x6f, 0x0a, - 0x15, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x91, - 0x01, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, - 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, - 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, - 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x21, 0x4d, - 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, - 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, - 0x6c, 0x64, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, - 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x30, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, - 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, - 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x59, 0x0a, - 0x14, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x52, 0x14, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, - 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xce, 0x01, 0x0a, 0x2f, 0x4d, 0x73, 0x67, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, - 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, - 0x73, 0x73, 0x42, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0x91, 0x01, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x21, + 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, + 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xcf, 0x01, 0x0a, 0x30, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, + 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, + 0x73, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x59, @@ -62314,46 +66987,102 @@ var file_structs_structs_tx_proto_rawDesc = []byte{ 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x14, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0xa3, 0x01, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7c, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7e, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0xba, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x12, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xce, 0x01, 0x0a, 0x2f, 0x4d, 0x73, 0x67, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, + 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, + 0x61, 0x73, 0x73, 0x42, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, + 0x59, 0x0a, 0x14, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, 0x61, + 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x52, 0x14, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4a, 0x6f, 0x69, 0x6e, 0x42, + 0x79, 0x70, 0x61, 0x73, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, + 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7c, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7e, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xba, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x66, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0xcd, 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, + 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x76, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9d, 0x01, 0x0a, 0x19, 0x4d, + 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x4d, + 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, @@ -62361,1146 +67090,1241 @@ var file_structs_structs_tx_proto_rawDesc = []byte{ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0xcd, 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, - 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x76, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9d, 0x01, 0x0a, 0x19, 0x4d, 0x73, - 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x4d, 0x73, - 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, - 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, - 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, - 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x7d, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6e, - 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, - 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, - 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, - 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x7f, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x72, 0x22, 0x7d, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, + 0x6e, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x1a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x1a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0x0a, - 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x81, 0x01, - 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, + 0x22, 0x7f, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x76, + 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x89, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6b, 0x0a, 0x1a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x68, 0x69, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x1a, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, + 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x81, + 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7f, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9c, 0x01, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x56, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, - 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7f, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x18, 0x4d, 0x73, 0x67, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x42, 0x04, - 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x22, 0x85, 0x01, 0x0a, - 0x15, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x56, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, + 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, - 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, - 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, - 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x42, 0x04, 0xc8, - 0xde, 0x1f, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, - 0x6e, 0x65, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x65, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, 0x22, - 0x8b, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, 0x0a, - 0x25, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, - 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, - 0x17, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x50, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x57, 0x0a, 0x11, 0x4d, 0x73, - 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x59, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xd4, - 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x41, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, - 0x62, 0x69, 0x74, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x6d, - 0x62, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, - 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, - 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x5a, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, - 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa2, 0x02, 0x0a, - 0x1e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x73, 0x68, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6e, - 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x41, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, - 0x62, 0x69, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x62, 0x69, - 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6c, 0x6f, 0x74, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, - 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x97, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, - 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, - 0x65, 0x66, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x15, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, - 0x6c, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, - 0x0a, 0x10, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xd6, 0x01, 0x0a, 0x0d, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x51, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x42, + 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x22, 0x85, 0x01, + 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, + 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa8, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, + 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x42, 0x04, + 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x65, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x70, + 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x50, 0x6c, + 0x61, 0x6e, 0x65, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x6c, 0x65, 0x6e, + 0x22, 0x8b, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, + 0x0a, 0x25, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x3f, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x52, 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, - 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x2c, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x61, - 0x70, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, - 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x18, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x10, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x22, 0x60, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, - 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x3c, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x34, 0x88, + 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, + 0x75, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xa5, 0x03, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x65, + 0x67, 0x69, 0x6e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, + 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x72, 0x63, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, + 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x72, 0x63, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x15, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x5f, 0x64, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x44, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x3c, 0x88, 0xa0, 0x1f, 0x00, 0xe8, + 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x8a, + 0xe7, 0xb0, 0x2a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x0d, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0xb7, 0x02, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, + 0x66, 0x75, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x45, + 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x3a, 0x34, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x18, 0x4d, 0x73, + 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0xc8, 0xde, 0x1f, + 0x00, 0x90, 0xdf, 0x1f, 0x01, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xf0, 0x02, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x66, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x45, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x3c, 0x88, + 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x23, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x44, 0x65, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x22, 0x0a, 0x20, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, + 0x65, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x50, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x22, 0x57, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x59, 0x0a, 0x13, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x66, 0x75, 0x73, - 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, - 0x6e, 0x66, 0x75, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, - 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, - 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x58, 0x0a, 0x1f, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, - 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0e, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x62, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, + 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x88, 0x01, 0x0a, + 0x16, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, + 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x5a, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0xa2, 0x02, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x5b, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x53, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, + 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x44, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0c, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x41, 0x6d, 0x62, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, + 0x66, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, + 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, + 0xd6, 0x01, 0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x6f, 0x76, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x61, 0x6d, 0x62, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x52, + 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb3, 0x01, 0x0a, 0x0f, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x19, + 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x18, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, + 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x60, 0x0a, 0x1a, 0x4d, 0x73, 0x67, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x65, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x18, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0c, 0x69, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x22, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, + 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, + 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x58, 0x0a, 0x1f, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, + 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x04, + 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0x8e, 0x01, 0x0a, + 0x1c, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x52, 0x05, 0x61, 0x6d, 0x62, 0x69, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x18, + 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x5b, 0x0a, + 0x22, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x15, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, + 0x74, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x61, 0x6d, + 0x62, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, + 0x74, 0x52, 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x16, 0x4d, + 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x61, + 0x6d, 0x62, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, + 0x69, 0x74, 0x52, 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x77, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x53, 0x75, + 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x61, 0x6d, 0x62, 0x69, 0x74, 0x52, 0x05, 0x61, 0x6d, 0x62, - 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x77, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, - 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x41, 0x0a, 0x1b, 0x4d, 0x73, 0x67, - 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, - 0x13, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, - 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x15, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, - 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x28, 0x0a, 0x26, 0x4d, 0x73, - 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x21, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x2b, 0x0a, 0x29, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, - 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, - 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x63, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x25, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, - 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, - 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x4d, - 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, - 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, - 0x5d, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, - 0x0a, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, - 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x94, - 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, - 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x22, + 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x41, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, + 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x1d, 0x0a, + 0x1b, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0x0a, + 0x1e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x72, - 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, - 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x22, 0x28, 0x0a, 0x26, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x0a, 0x21, 0x4d, + 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x3a, 0x0c, + 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x2b, 0x0a, 0x29, + 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1a, 0x4d, 0x73, + 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x22, 0x24, 0x0a, 0x22, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x25, 0x4d, + 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, + 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x24, 0x0a, 0x22, 0x4d, + 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x92, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x5d, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x72, 0x65, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, - 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, + 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x3a, 0x0c, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, - 0x1c, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x1c, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, - 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, + 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x61, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa2, 0x05, 0x0a, 0x11, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x73, - 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x64, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x35, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, - 0x1f, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x04, 0x72, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x73, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, - 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x73, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, - 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, - 0x61, 0x6c, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, - 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, - 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x1b, 0x63, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, - 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, - 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, - 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x28, - 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, - 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x94, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, - 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, 0x6e, - 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, - 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, + 0x74, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, 0x1c, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, + 0x0a, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x2a, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x3a, 0x0c, 0x82, 0xe7, + 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x4d, 0x73, + 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xa2, 0x05, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x64, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, + 0x35, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x73, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x0c, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x73, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x44, 0x65, + 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, + 0x1b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x12, 0x73, 0x0a, 0x1b, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x4c, 0x65, 0x67, + 0x61, 0x63, 0x79, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x44, 0x65, 0x63, 0x52, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x6e, 0x61, 0x6c, 0x74, + 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x61, 0x70, 0x61, + 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x63, + 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, + 0x28, 0x0a, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x94, 0x01, 0x0a, 0x1a, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, - 0x77, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, - 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb2, 0x01, 0x0a, 0x1d, + 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, + 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, + 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x22, 0x79, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, - 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x7a, 0x0a, 0x16, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x5b, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0xb2, 0x01, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x49, + 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0c, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x79, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, + 0x6c, 0x64, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x6f, 0x72, 0x22, 0x7a, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x6f, 0x72, 0x22, 0x15, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x41, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x5a, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x63, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x12, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, - 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, - 0x0a, 0x0e, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x12, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x19, 0x41, - 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, - 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, - 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, - 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x19, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, - 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2d, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, - 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, + 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x67, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, + 0x3a, 0x0c, 0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x5b, + 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x3a, 0x0c, 0x82, + 0xe7, 0xb0, 0x2a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x15, 0x0a, 0x13, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x32, 0x89, 0x45, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x5a, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x71, 0x0a, 0x19, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2d, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x28, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x1a, 0x25, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2c, + 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x21, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, + 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, + 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0d, 0x41, 0x67, + 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x21, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2c, + 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, + 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x19, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, + 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x1a, 0x2e, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x46, 0x6c, - 0x65, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x6c, 0x65, - 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x6c, 0x65, 0x65, - 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, - 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x27, 0x2e, + 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x19, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, + 0x73, 0x65, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x44, 0x65, 0x63, 0x72, 0x65, 0x61, 0x73, + 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x19, 0x41, 0x67, 0x72, 0x65, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, + 0x72, 0x65, 0x61, 0x73, 0x65, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x63, 0x72, + 0x65, 0x61, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x67, 0x72, 0x65, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, - 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0f, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, - 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x12, 0x23, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x1a, 0x2b, 0x2e, + 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, + 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x1a, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x51, 0x0a, 0x09, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x1d, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x1a, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, - 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x1a, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, - 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x12, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, - 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x1a, 0x36, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, - 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x65, 0x0a, 0x12, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, - 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x1a, - 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x4d, 0x73, 0x67, 0x46, 0x6c, 0x65, 0x65, 0x74, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, + 0x0d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, 0x74, 0x12, 0x21, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x4d, 0x69, 0x6e, + 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, + 0x4d, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0f, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x12, + 0x23, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, + 0x64, 0x65, 0x65, 0x6d, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, + 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x84, 0x01, 0x0a, 0x1a, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, + 0x12, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, + 0x1a, 0x36, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x73, 0x63, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x64, 0x42, 0x75, 0x72, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x12, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, + 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x79, 0x0a, 0x1c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x30, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1c, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, - 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x13, 0x47, 0x75, + 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x1e, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x32, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x2c, - 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, - 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, - 0x70, 0x61, 0x73, 0x73, 0x42, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, - 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x42, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x27, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x2d, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, - 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, - 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x1e, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x32, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, + 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, - 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, - 0x61, 0x73, 0x73, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x15, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x2c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x42, 0x79, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x42, 0x79, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9b, + 0x01, 0x0a, 0x2d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, + 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x41, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x6f, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, + 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x42, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x15, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, + 0x1c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x30, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x1a, + 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x19, + 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x1c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x30, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x6e, 0x79, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x19, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, - 0x6e, 0x79, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x44, 0x65, 0x6e, - 0x79, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, - 0x0a, 0x1b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x2f, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x2b, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x13, 0x47, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1b, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x2f, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, - 0x69, 0x6e, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x1a, 0x2b, 0x2e, 0x73, 0x74, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x75, 0x0a, 0x18, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x18, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6b, 0x0a, 0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x4a, 0x6f, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x13, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4b, 0x69, 0x63, 0x6b, 0x12, 0x27, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x4b, 0x69, 0x63, 0x6b, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x4b, 0x69, 0x63, 0x6b, 0x1a, - 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x16, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x16, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, + 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, - 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1a, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x44, 0x65, 0x6e, 0x79, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x1c, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x76, 0x6f, + 0x6b, 0x65, 0x12, 0x30, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x7f, 0x0a, 0x1d, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, - 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x79, 0x0a, 0x1a, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6e, 0x79, 0x12, 0x2e, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x44, 0x65, 0x6e, 0x79, 0x1a, 0x2b, + 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x70, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x26, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x17, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, - 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x1c, 0x47, - 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x30, 0x2e, 0x73, 0x74, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, - 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x2b, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x18, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x17, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, - 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x4f, 0x6e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x19, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, - 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x70, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, - 0x6b, 0x65, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, - 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6a, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x19, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, + 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x16, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, + 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, + 0x6c, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, + 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, + 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, + 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x1a, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x84, 0x01, 0x0a, 0x1a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, + 0x36, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4f, 0x6e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x0d, - 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x2e, - 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6c, 0x6f, 0x72, 0x65, - 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6c, - 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x50, - 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, - 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, - 0x6c, 0x61, 0x6e, 0x65, 0x74, 0x52, 0x61, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x1a, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x36, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5a, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, - 0x12, 0x20, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0e, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x22, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6c, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, + 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, + 0x6d, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, + 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x24, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x78, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1d, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, + 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, + 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, - 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, + 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, + 0x6c, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, - 0x69, 0x74, 0x79, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x78, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, - 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, + 0x13, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1d, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, - 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x24, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x24, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, - 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x24, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, - 0x69, 0x6c, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x12, 0x27, 0x2e, + 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5d, 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, + 0x12, 0x21, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, + 0x75, 0x73, 0x65, 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, + 0x0a, 0x0d, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x66, 0x75, 0x73, 0x65, 0x12, + 0x21, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, 0x65, 0x66, 0x75, + 0x73, 0x65, 0x1a, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x44, + 0x65, 0x66, 0x75, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, + 0x15, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4d, 0x69, 0x67, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x65, + 0x67, 0x69, 0x6e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x47, 0x75, 0x69, 0x6c, 0x64, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0e, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x22, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x1a, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x28, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x13, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, - 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x27, 0x2e, + 0x4d, 0x73, 0x67, 0x52, 0x65, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x44, 0x65, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x31, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x44, 0x65, 0x66, 0x75, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, - 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x64, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x10, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, + 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x28, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, - 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x12, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, - 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, - 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x68, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x65, 0x1a, + 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x13, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x27, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x25, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x6f, 0x76, 0x65, - 0x12, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, 0x6f, 0x76, 0x65, - 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x1a, 0x28, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x53, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, - 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, - 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x2e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, - 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x12, - 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x1a, 0x31, 0x2e, 0x73, 0x74, 0x72, + 0x72, 0x75, 0x63, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, + 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x10, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x53, 0x65, 0x74, 0x12, 0x24, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, + 0x53, 0x65, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, + 0x12, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6c, + 0x65, 0x61, 0x72, 0x12, 0x26, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x44, + 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x1a, 0x28, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, + 0x6f, 0x76, 0x65, 0x12, 0x1e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4d, + 0x6f, 0x76, 0x65, 0x1a, 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, + 0x0c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x12, 0x20, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x1a, + 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x15, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0x28, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x53, 0x74, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, + 0x28, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, + 0x73, 0x65, 0x12, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x1a, 0x31, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x76, 0x0a, 0x16, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x76, 0x0a, - 0x16, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x43, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x1a, 0x30, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, - 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, - 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, - 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x1a, 0x33, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, - 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x30, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x4f, 0x72, 0x65, 0x4d, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x33, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x4f, 0x72, 0x65, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x53, 0x75, 0x62, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x66, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x1b, 0x53, 0x75, + 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, + 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, - 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x24, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x1a, 0x2c, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, - 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x1b, 0x53, 0x75, 0x62, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, + 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x32, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x90, 0x01, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x12, 0x32, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x3a, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2b, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x3a, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, + 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, - 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x84, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, - 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x1a, - 0x36, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x74, + 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x12, 0x2e, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x17, 0x53, 0x75, + 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, + 0x67, 0x72, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, + 0x74, 0x65, 0x1a, 0x33, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x1a, - 0x33, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x73, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x9d, 0x01, 0x0a, 0x13, - 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x73, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x20, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0xa2, 0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x0f, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, - 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xca, 0x02, 0x0f, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xe2, 0x02, 0x1b, 0x53, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x53, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x9d, + 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x20, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x2f, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0xa2, 0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x0f, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xca, 0x02, 0x0f, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0xe2, 0x02, 0x1b, + 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -63515,7 +68339,7 @@ func file_structs_structs_tx_proto_rawDescGZIP() []byte { return file_structs_structs_tx_proto_rawDescData } -var file_structs_structs_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 111) +var file_structs_structs_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 119) var file_structs_structs_tx_proto_goTypes = []interface{}{ (*MsgUpdateParams)(nil), // 0: structs.structs.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 1: structs.structs.MsgUpdateParamsResponse @@ -63575,249 +68399,273 @@ var file_structs_structs_tx_proto_goTypes = []interface{}{ (*MsgPlayerUpdatePrimaryAddressResponse)(nil), // 55: structs.structs.MsgPlayerUpdatePrimaryAddressResponse (*MsgPlayerResume)(nil), // 56: structs.structs.MsgPlayerResume (*MsgPlayerResumeResponse)(nil), // 57: structs.structs.MsgPlayerResumeResponse - (*MsgStructStatusResponse)(nil), // 58: structs.structs.MsgStructStatusResponse - (*MsgStructActivate)(nil), // 59: structs.structs.MsgStructActivate - (*MsgStructDeactivate)(nil), // 60: structs.structs.MsgStructDeactivate - (*MsgStructBuildInitiate)(nil), // 61: structs.structs.MsgStructBuildInitiate - (*MsgStructBuildComplete)(nil), // 62: structs.structs.MsgStructBuildComplete - (*MsgStructBuildCancel)(nil), // 63: structs.structs.MsgStructBuildCancel - (*MsgStructBuildCompleteAndStash)(nil), // 64: structs.structs.MsgStructBuildCompleteAndStash - (*MsgStructDefenseSet)(nil), // 65: structs.structs.MsgStructDefenseSet - (*MsgStructDefenseClear)(nil), // 66: structs.structs.MsgStructDefenseClear - (*MsgStructMove)(nil), // 67: structs.structs.MsgStructMove - (*MsgStructAttack)(nil), // 68: structs.structs.MsgStructAttack - (*MsgStructAttackResponse)(nil), // 69: structs.structs.MsgStructAttackResponse - (*MsgStructStealthActivate)(nil), // 70: structs.structs.MsgStructStealthActivate - (*MsgStructStealthDeactivate)(nil), // 71: structs.structs.MsgStructStealthDeactivate - (*MsgStructGeneratorInfuse)(nil), // 72: structs.structs.MsgStructGeneratorInfuse - (*MsgStructGeneratorStatusResponse)(nil), // 73: structs.structs.MsgStructGeneratorStatusResponse - (*MsgStructOreMinerComplete)(nil), // 74: structs.structs.MsgStructOreMinerComplete - (*MsgStructOreMinerStatusResponse)(nil), // 75: structs.structs.MsgStructOreMinerStatusResponse - (*MsgStructOreRefineryComplete)(nil), // 76: structs.structs.MsgStructOreRefineryComplete - (*MsgStructOreRefineryStatusResponse)(nil), // 77: structs.structs.MsgStructOreRefineryStatusResponse - (*MsgStructStorageStash)(nil), // 78: structs.structs.MsgStructStorageStash - (*MsgStructStorageRecall)(nil), // 79: structs.structs.MsgStructStorageRecall - (*MsgSubstationCreate)(nil), // 80: structs.structs.MsgSubstationCreate - (*MsgSubstationCreateResponse)(nil), // 81: structs.structs.MsgSubstationCreateResponse - (*MsgSubstationDelete)(nil), // 82: structs.structs.MsgSubstationDelete - (*MsgSubstationDeleteResponse)(nil), // 83: structs.structs.MsgSubstationDeleteResponse - (*MsgSubstationAllocationConnect)(nil), // 84: structs.structs.MsgSubstationAllocationConnect - (*MsgSubstationAllocationConnectResponse)(nil), // 85: structs.structs.MsgSubstationAllocationConnectResponse - (*MsgSubstationAllocationDisconnect)(nil), // 86: structs.structs.MsgSubstationAllocationDisconnect - (*MsgSubstationAllocationDisconnectResponse)(nil), // 87: structs.structs.MsgSubstationAllocationDisconnectResponse - (*MsgSubstationPlayerConnect)(nil), // 88: structs.structs.MsgSubstationPlayerConnect - (*MsgSubstationPlayerConnectResponse)(nil), // 89: structs.structs.MsgSubstationPlayerConnectResponse - (*MsgSubstationPlayerDisconnect)(nil), // 90: structs.structs.MsgSubstationPlayerDisconnect - (*MsgSubstationPlayerDisconnectResponse)(nil), // 91: structs.structs.MsgSubstationPlayerDisconnectResponse - (*MsgSubstationPlayerMigrate)(nil), // 92: structs.structs.MsgSubstationPlayerMigrate - (*MsgSubstationPlayerMigrateResponse)(nil), // 93: structs.structs.MsgSubstationPlayerMigrateResponse - (*MsgAgreementOpen)(nil), // 94: structs.structs.MsgAgreementOpen - (*MsgAgreementClose)(nil), // 95: structs.structs.MsgAgreementClose - (*MsgAgreementCapacityIncrease)(nil), // 96: structs.structs.MsgAgreementCapacityIncrease - (*MsgAgreementCapacityDecrease)(nil), // 97: structs.structs.MsgAgreementCapacityDecrease - (*MsgAgreementDurationIncrease)(nil), // 98: structs.structs.MsgAgreementDurationIncrease - (*MsgAgreementResponse)(nil), // 99: structs.structs.MsgAgreementResponse - (*MsgProviderCreate)(nil), // 100: structs.structs.MsgProviderCreate - (*MsgProviderWithdrawBalance)(nil), // 101: structs.structs.MsgProviderWithdrawBalance - (*MsgProviderUpdateCapacityMinimum)(nil), // 102: structs.structs.MsgProviderUpdateCapacityMinimum - (*MsgProviderUpdateCapacityMaximum)(nil), // 103: structs.structs.MsgProviderUpdateCapacityMaximum - (*MsgProviderUpdateDurationMinimum)(nil), // 104: structs.structs.MsgProviderUpdateDurationMinimum - (*MsgProviderUpdateDurationMaximum)(nil), // 105: structs.structs.MsgProviderUpdateDurationMaximum - (*MsgProviderUpdateAccessPolicy)(nil), // 106: structs.structs.MsgProviderUpdateAccessPolicy - (*MsgProviderGuildGrant)(nil), // 107: structs.structs.MsgProviderGuildGrant - (*MsgProviderGuildRevoke)(nil), // 108: structs.structs.MsgProviderGuildRevoke - (*MsgProviderDelete)(nil), // 109: structs.structs.MsgProviderDelete - (*MsgProviderResponse)(nil), // 110: structs.structs.MsgProviderResponse - (*Params)(nil), // 111: structs.structs.Params - (AllocationType)(0), // 112: structs.structs.allocationType - (*Fleet)(nil), // 113: structs.structs.Fleet - (*v1beta1.Coin)(nil), // 114: cosmos.base.v1beta1.Coin - (GuildJoinBypassLevel)(0), // 115: structs.structs.guildJoinBypassLevel - (*GuildMembershipApplication)(nil), // 116: structs.structs.GuildMembershipApplication - (*Planet)(nil), // 117: structs.structs.Planet - (*Struct)(nil), // 118: structs.structs.Struct - (Ambit)(0), // 119: structs.structs.ambit - (ObjectType)(0), // 120: structs.structs.objectType - (ProviderAccessPolicy)(0), // 121: structs.structs.providerAccessPolicy + (*MsgReactorInfuse)(nil), // 58: structs.structs.MsgReactorInfuse + (*MsgReactorInfuseResponse)(nil), // 59: structs.structs.MsgReactorInfuseResponse + (*MsgReactorBeginMigration)(nil), // 60: structs.structs.MsgReactorBeginMigration + (*MsgReactorBeginMigrationResponse)(nil), // 61: structs.structs.MsgReactorBeginMigrationResponse + (*MsgReactorDefuse)(nil), // 62: structs.structs.MsgReactorDefuse + (*MsgReactorDefuseResponse)(nil), // 63: structs.structs.MsgReactorDefuseResponse + (*MsgReactorCancelDefusion)(nil), // 64: structs.structs.MsgReactorCancelDefusion + (*MsgReactorCancelDefusionResponse)(nil), // 65: structs.structs.MsgReactorCancelDefusionResponse + (*MsgStructStatusResponse)(nil), // 66: structs.structs.MsgStructStatusResponse + (*MsgStructActivate)(nil), // 67: structs.structs.MsgStructActivate + (*MsgStructDeactivate)(nil), // 68: structs.structs.MsgStructDeactivate + (*MsgStructBuildInitiate)(nil), // 69: structs.structs.MsgStructBuildInitiate + (*MsgStructBuildComplete)(nil), // 70: structs.structs.MsgStructBuildComplete + (*MsgStructBuildCancel)(nil), // 71: structs.structs.MsgStructBuildCancel + (*MsgStructBuildCompleteAndStash)(nil), // 72: structs.structs.MsgStructBuildCompleteAndStash + (*MsgStructDefenseSet)(nil), // 73: structs.structs.MsgStructDefenseSet + (*MsgStructDefenseClear)(nil), // 74: structs.structs.MsgStructDefenseClear + (*MsgStructMove)(nil), // 75: structs.structs.MsgStructMove + (*MsgStructAttack)(nil), // 76: structs.structs.MsgStructAttack + (*MsgStructAttackResponse)(nil), // 77: structs.structs.MsgStructAttackResponse + (*MsgStructStealthActivate)(nil), // 78: structs.structs.MsgStructStealthActivate + (*MsgStructStealthDeactivate)(nil), // 79: structs.structs.MsgStructStealthDeactivate + (*MsgStructGeneratorInfuse)(nil), // 80: structs.structs.MsgStructGeneratorInfuse + (*MsgStructGeneratorStatusResponse)(nil), // 81: structs.structs.MsgStructGeneratorStatusResponse + (*MsgStructOreMinerComplete)(nil), // 82: structs.structs.MsgStructOreMinerComplete + (*MsgStructOreMinerStatusResponse)(nil), // 83: structs.structs.MsgStructOreMinerStatusResponse + (*MsgStructOreRefineryComplete)(nil), // 84: structs.structs.MsgStructOreRefineryComplete + (*MsgStructOreRefineryStatusResponse)(nil), // 85: structs.structs.MsgStructOreRefineryStatusResponse + (*MsgStructStorageStash)(nil), // 86: structs.structs.MsgStructStorageStash + (*MsgStructStorageRecall)(nil), // 87: structs.structs.MsgStructStorageRecall + (*MsgSubstationCreate)(nil), // 88: structs.structs.MsgSubstationCreate + (*MsgSubstationCreateResponse)(nil), // 89: structs.structs.MsgSubstationCreateResponse + (*MsgSubstationDelete)(nil), // 90: structs.structs.MsgSubstationDelete + (*MsgSubstationDeleteResponse)(nil), // 91: structs.structs.MsgSubstationDeleteResponse + (*MsgSubstationAllocationConnect)(nil), // 92: structs.structs.MsgSubstationAllocationConnect + (*MsgSubstationAllocationConnectResponse)(nil), // 93: structs.structs.MsgSubstationAllocationConnectResponse + (*MsgSubstationAllocationDisconnect)(nil), // 94: structs.structs.MsgSubstationAllocationDisconnect + (*MsgSubstationAllocationDisconnectResponse)(nil), // 95: structs.structs.MsgSubstationAllocationDisconnectResponse + (*MsgSubstationPlayerConnect)(nil), // 96: structs.structs.MsgSubstationPlayerConnect + (*MsgSubstationPlayerConnectResponse)(nil), // 97: structs.structs.MsgSubstationPlayerConnectResponse + (*MsgSubstationPlayerDisconnect)(nil), // 98: structs.structs.MsgSubstationPlayerDisconnect + (*MsgSubstationPlayerDisconnectResponse)(nil), // 99: structs.structs.MsgSubstationPlayerDisconnectResponse + (*MsgSubstationPlayerMigrate)(nil), // 100: structs.structs.MsgSubstationPlayerMigrate + (*MsgSubstationPlayerMigrateResponse)(nil), // 101: structs.structs.MsgSubstationPlayerMigrateResponse + (*MsgAgreementOpen)(nil), // 102: structs.structs.MsgAgreementOpen + (*MsgAgreementClose)(nil), // 103: structs.structs.MsgAgreementClose + (*MsgAgreementCapacityIncrease)(nil), // 104: structs.structs.MsgAgreementCapacityIncrease + (*MsgAgreementCapacityDecrease)(nil), // 105: structs.structs.MsgAgreementCapacityDecrease + (*MsgAgreementDurationIncrease)(nil), // 106: structs.structs.MsgAgreementDurationIncrease + (*MsgAgreementResponse)(nil), // 107: structs.structs.MsgAgreementResponse + (*MsgProviderCreate)(nil), // 108: structs.structs.MsgProviderCreate + (*MsgProviderWithdrawBalance)(nil), // 109: structs.structs.MsgProviderWithdrawBalance + (*MsgProviderUpdateCapacityMinimum)(nil), // 110: structs.structs.MsgProviderUpdateCapacityMinimum + (*MsgProviderUpdateCapacityMaximum)(nil), // 111: structs.structs.MsgProviderUpdateCapacityMaximum + (*MsgProviderUpdateDurationMinimum)(nil), // 112: structs.structs.MsgProviderUpdateDurationMinimum + (*MsgProviderUpdateDurationMaximum)(nil), // 113: structs.structs.MsgProviderUpdateDurationMaximum + (*MsgProviderUpdateAccessPolicy)(nil), // 114: structs.structs.MsgProviderUpdateAccessPolicy + (*MsgProviderGuildGrant)(nil), // 115: structs.structs.MsgProviderGuildGrant + (*MsgProviderGuildRevoke)(nil), // 116: structs.structs.MsgProviderGuildRevoke + (*MsgProviderDelete)(nil), // 117: structs.structs.MsgProviderDelete + (*MsgProviderResponse)(nil), // 118: structs.structs.MsgProviderResponse + (*Params)(nil), // 119: structs.structs.Params + (AllocationType)(0), // 120: structs.structs.allocationType + (*Fleet)(nil), // 121: structs.structs.Fleet + (*v1beta1.Coin)(nil), // 122: cosmos.base.v1beta1.Coin + (GuildJoinBypassLevel)(0), // 123: structs.structs.guildJoinBypassLevel + (*GuildMembershipApplication)(nil), // 124: structs.structs.GuildMembershipApplication + (*Planet)(nil), // 125: structs.structs.Planet + (*timestamppb.Timestamp)(nil), // 126: google.protobuf.Timestamp + (*Struct)(nil), // 127: structs.structs.Struct + (Ambit)(0), // 128: structs.structs.ambit + (ObjectType)(0), // 129: structs.structs.objectType + (ProviderAccessPolicy)(0), // 130: structs.structs.providerAccessPolicy } var file_structs_structs_tx_proto_depIdxs = []int32{ - 111, // 0: structs.structs.MsgUpdateParams.params:type_name -> structs.structs.Params - 112, // 1: structs.structs.MsgAllocationCreate.allocationType:type_name -> structs.structs.allocationType - 113, // 2: structs.structs.MsgFleetMoveResponse.fleet:type_name -> structs.structs.Fleet - 114, // 3: structs.structs.MsgGuildBankRedeem.amountToken:type_name -> cosmos.base.v1beta1.Coin - 115, // 4: structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest.guildJoinBypassLevel:type_name -> structs.structs.guildJoinBypassLevel - 115, // 5: structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite.guildJoinBypassLevel:type_name -> structs.structs.guildJoinBypassLevel - 116, // 6: structs.structs.MsgGuildMembershipResponse.guildMembershipApplication:type_name -> structs.structs.GuildMembershipApplication - 117, // 7: structs.structs.MsgPlanetExploreResponse.planet:type_name -> structs.structs.Planet - 113, // 8: structs.structs.MsgPlanetRaidCompleteResponse.fleet:type_name -> structs.structs.Fleet - 117, // 9: structs.structs.MsgPlanetRaidCompleteResponse.planet:type_name -> structs.structs.Planet - 118, // 10: structs.structs.MsgStructStatusResponse.struct:type_name -> structs.structs.Struct - 119, // 11: structs.structs.MsgStructBuildInitiate.operatingAmbit:type_name -> structs.structs.ambit - 119, // 12: structs.structs.MsgStructBuildCompleteAndStash.storageAmbit:type_name -> structs.structs.ambit - 120, // 13: structs.structs.MsgStructMove.locationType:type_name -> structs.structs.objectType - 119, // 14: structs.structs.MsgStructMove.ambit:type_name -> structs.structs.ambit - 118, // 15: structs.structs.MsgStructOreMinerStatusResponse.struct:type_name -> structs.structs.Struct - 118, // 16: structs.structs.MsgStructOreRefineryStatusResponse.struct:type_name -> structs.structs.Struct - 119, // 17: structs.structs.MsgStructStorageStash.ambit:type_name -> structs.structs.ambit - 119, // 18: structs.structs.MsgStructStorageRecall.ambit:type_name -> structs.structs.ambit - 114, // 19: structs.structs.MsgProviderCreate.rate:type_name -> cosmos.base.v1beta1.Coin - 121, // 20: structs.structs.MsgProviderCreate.accessPolicy:type_name -> structs.structs.providerAccessPolicy - 121, // 21: structs.structs.MsgProviderUpdateAccessPolicy.accessPolicy:type_name -> structs.structs.providerAccessPolicy - 0, // 22: structs.structs.Msg.UpdateParams:input_type -> structs.structs.MsgUpdateParams - 2, // 23: structs.structs.Msg.AddressRegister:input_type -> structs.structs.MsgAddressRegister - 4, // 24: structs.structs.Msg.AddressRevoke:input_type -> structs.structs.MsgAddressRevoke - 94, // 25: structs.structs.Msg.AgreementOpen:input_type -> structs.structs.MsgAgreementOpen - 95, // 26: structs.structs.Msg.AgreementClose:input_type -> structs.structs.MsgAgreementClose - 96, // 27: structs.structs.Msg.AgreementCapacityIncrease:input_type -> structs.structs.MsgAgreementCapacityIncrease - 97, // 28: structs.structs.Msg.AgreementCapacityDecrease:input_type -> structs.structs.MsgAgreementCapacityDecrease - 98, // 29: structs.structs.Msg.AgreementDurationIncrease:input_type -> structs.structs.MsgAgreementDurationIncrease - 6, // 30: structs.structs.Msg.AllocationCreate:input_type -> structs.structs.MsgAllocationCreate - 8, // 31: structs.structs.Msg.AllocationDelete:input_type -> structs.structs.MsgAllocationDelete - 10, // 32: structs.structs.Msg.AllocationUpdate:input_type -> structs.structs.MsgAllocationUpdate - 12, // 33: structs.structs.Msg.AllocationTransfer:input_type -> structs.structs.MsgAllocationTransfer - 14, // 34: structs.structs.Msg.FleetMove:input_type -> structs.structs.MsgFleetMove - 22, // 35: structs.structs.Msg.GuildCreate:input_type -> structs.structs.MsgGuildCreate - 16, // 36: structs.structs.Msg.GuildBankMint:input_type -> structs.structs.MsgGuildBankMint - 18, // 37: structs.structs.Msg.GuildBankRedeem:input_type -> structs.structs.MsgGuildBankRedeem - 20, // 38: structs.structs.Msg.GuildBankConfiscateAndBurn:input_type -> structs.structs.MsgGuildBankConfiscateAndBurn - 24, // 39: structs.structs.Msg.GuildUpdateOwnerId:input_type -> structs.structs.MsgGuildUpdateOwnerId - 25, // 40: structs.structs.Msg.GuildUpdateEntrySubstationId:input_type -> structs.structs.MsgGuildUpdateEntrySubstationId - 26, // 41: structs.structs.Msg.GuildUpdateEndpoint:input_type -> structs.structs.MsgGuildUpdateEndpoint - 27, // 42: structs.structs.Msg.GuildUpdateJoinInfusionMinimum:input_type -> structs.structs.MsgGuildUpdateJoinInfusionMinimum - 29, // 43: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByInvite:input_type -> structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite - 28, // 44: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByRequest:input_type -> structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest - 31, // 45: structs.structs.Msg.GuildMembershipInvite:input_type -> structs.structs.MsgGuildMembershipInvite - 32, // 46: structs.structs.Msg.GuildMembershipInviteApprove:input_type -> structs.structs.MsgGuildMembershipInviteApprove - 33, // 47: structs.structs.Msg.GuildMembershipInviteDeny:input_type -> structs.structs.MsgGuildMembershipInviteDeny - 34, // 48: structs.structs.Msg.GuildMembershipInviteRevoke:input_type -> structs.structs.MsgGuildMembershipInviteRevoke - 35, // 49: structs.structs.Msg.GuildMembershipJoin:input_type -> structs.structs.MsgGuildMembershipJoin - 36, // 50: structs.structs.Msg.GuildMembershipJoinProxy:input_type -> structs.structs.MsgGuildMembershipJoinProxy - 37, // 51: structs.structs.Msg.GuildMembershipKick:input_type -> structs.structs.MsgGuildMembershipKick - 38, // 52: structs.structs.Msg.GuildMembershipRequest:input_type -> structs.structs.MsgGuildMembershipRequest - 39, // 53: structs.structs.Msg.GuildMembershipRequestApprove:input_type -> structs.structs.MsgGuildMembershipRequestApprove - 40, // 54: structs.structs.Msg.GuildMembershipRequestDeny:input_type -> structs.structs.MsgGuildMembershipRequestDeny - 41, // 55: structs.structs.Msg.GuildMembershipRequestRevoke:input_type -> structs.structs.MsgGuildMembershipRequestRevoke - 44, // 56: structs.structs.Msg.PermissionGrantOnAddress:input_type -> structs.structs.MsgPermissionGrantOnAddress - 43, // 57: structs.structs.Msg.PermissionGrantOnObject:input_type -> structs.structs.MsgPermissionGrantOnObject - 46, // 58: structs.structs.Msg.PermissionRevokeOnAddress:input_type -> structs.structs.MsgPermissionRevokeOnAddress - 45, // 59: structs.structs.Msg.PermissionRevokeOnObject:input_type -> structs.structs.MsgPermissionRevokeOnObject - 48, // 60: structs.structs.Msg.PermissionSetOnAddress:input_type -> structs.structs.MsgPermissionSetOnAddress - 47, // 61: structs.structs.Msg.PermissionSetOnObject:input_type -> structs.structs.MsgPermissionSetOnObject - 50, // 62: structs.structs.Msg.PlanetExplore:input_type -> structs.structs.MsgPlanetExplore - 52, // 63: structs.structs.Msg.PlanetRaidComplete:input_type -> structs.structs.MsgPlanetRaidComplete - 54, // 64: structs.structs.Msg.PlayerUpdatePrimaryAddress:input_type -> structs.structs.MsgPlayerUpdatePrimaryAddress - 56, // 65: structs.structs.Msg.PlayerResume:input_type -> structs.structs.MsgPlayerResume - 100, // 66: structs.structs.Msg.ProviderCreate:input_type -> structs.structs.MsgProviderCreate - 101, // 67: structs.structs.Msg.ProviderWithdrawBalance:input_type -> structs.structs.MsgProviderWithdrawBalance - 102, // 68: structs.structs.Msg.ProviderUpdateCapacityMinimum:input_type -> structs.structs.MsgProviderUpdateCapacityMinimum - 103, // 69: structs.structs.Msg.ProviderUpdateCapacityMaximum:input_type -> structs.structs.MsgProviderUpdateCapacityMaximum - 104, // 70: structs.structs.Msg.ProviderUpdateDurationMinimum:input_type -> structs.structs.MsgProviderUpdateDurationMinimum - 105, // 71: structs.structs.Msg.ProviderUpdateDurationMaximum:input_type -> structs.structs.MsgProviderUpdateDurationMaximum - 106, // 72: structs.structs.Msg.ProviderUpdateAccessPolicy:input_type -> structs.structs.MsgProviderUpdateAccessPolicy - 107, // 73: structs.structs.Msg.ProviderGuildGrant:input_type -> structs.structs.MsgProviderGuildGrant - 108, // 74: structs.structs.Msg.ProviderGuildRevoke:input_type -> structs.structs.MsgProviderGuildRevoke - 109, // 75: structs.structs.Msg.ProviderDelete:input_type -> structs.structs.MsgProviderDelete - 59, // 76: structs.structs.Msg.StructActivate:input_type -> structs.structs.MsgStructActivate - 60, // 77: structs.structs.Msg.StructDeactivate:input_type -> structs.structs.MsgStructDeactivate - 61, // 78: structs.structs.Msg.StructBuildInitiate:input_type -> structs.structs.MsgStructBuildInitiate - 62, // 79: structs.structs.Msg.StructBuildComplete:input_type -> structs.structs.MsgStructBuildComplete - 63, // 80: structs.structs.Msg.StructBuildCancel:input_type -> structs.structs.MsgStructBuildCancel - 65, // 81: structs.structs.Msg.StructDefenseSet:input_type -> structs.structs.MsgStructDefenseSet - 66, // 82: structs.structs.Msg.StructDefenseClear:input_type -> structs.structs.MsgStructDefenseClear - 67, // 83: structs.structs.Msg.StructMove:input_type -> structs.structs.MsgStructMove - 68, // 84: structs.structs.Msg.StructAttack:input_type -> structs.structs.MsgStructAttack - 70, // 85: structs.structs.Msg.StructStealthActivate:input_type -> structs.structs.MsgStructStealthActivate - 71, // 86: structs.structs.Msg.StructStealthDeactivate:input_type -> structs.structs.MsgStructStealthDeactivate - 72, // 87: structs.structs.Msg.StructGeneratorInfuse:input_type -> structs.structs.MsgStructGeneratorInfuse - 74, // 88: structs.structs.Msg.StructOreMinerComplete:input_type -> structs.structs.MsgStructOreMinerComplete - 76, // 89: structs.structs.Msg.StructOreRefineryComplete:input_type -> structs.structs.MsgStructOreRefineryComplete - 80, // 90: structs.structs.Msg.SubstationCreate:input_type -> structs.structs.MsgSubstationCreate - 82, // 91: structs.structs.Msg.SubstationDelete:input_type -> structs.structs.MsgSubstationDelete - 84, // 92: structs.structs.Msg.SubstationAllocationConnect:input_type -> structs.structs.MsgSubstationAllocationConnect - 86, // 93: structs.structs.Msg.SubstationAllocationDisconnect:input_type -> structs.structs.MsgSubstationAllocationDisconnect - 88, // 94: structs.structs.Msg.SubstationPlayerConnect:input_type -> structs.structs.MsgSubstationPlayerConnect - 90, // 95: structs.structs.Msg.SubstationPlayerDisconnect:input_type -> structs.structs.MsgSubstationPlayerDisconnect - 92, // 96: structs.structs.Msg.SubstationPlayerMigrate:input_type -> structs.structs.MsgSubstationPlayerMigrate - 1, // 97: structs.structs.Msg.UpdateParams:output_type -> structs.structs.MsgUpdateParamsResponse - 3, // 98: structs.structs.Msg.AddressRegister:output_type -> structs.structs.MsgAddressRegisterResponse - 5, // 99: structs.structs.Msg.AddressRevoke:output_type -> structs.structs.MsgAddressRevokeResponse - 99, // 100: structs.structs.Msg.AgreementOpen:output_type -> structs.structs.MsgAgreementResponse - 99, // 101: structs.structs.Msg.AgreementClose:output_type -> structs.structs.MsgAgreementResponse - 99, // 102: structs.structs.Msg.AgreementCapacityIncrease:output_type -> structs.structs.MsgAgreementResponse - 99, // 103: structs.structs.Msg.AgreementCapacityDecrease:output_type -> structs.structs.MsgAgreementResponse - 99, // 104: structs.structs.Msg.AgreementDurationIncrease:output_type -> structs.structs.MsgAgreementResponse - 7, // 105: structs.structs.Msg.AllocationCreate:output_type -> structs.structs.MsgAllocationCreateResponse - 9, // 106: structs.structs.Msg.AllocationDelete:output_type -> structs.structs.MsgAllocationDeleteResponse - 11, // 107: structs.structs.Msg.AllocationUpdate:output_type -> structs.structs.MsgAllocationUpdateResponse - 13, // 108: structs.structs.Msg.AllocationTransfer:output_type -> structs.structs.MsgAllocationTransferResponse - 15, // 109: structs.structs.Msg.FleetMove:output_type -> structs.structs.MsgFleetMoveResponse - 23, // 110: structs.structs.Msg.GuildCreate:output_type -> structs.structs.MsgGuildCreateResponse - 17, // 111: structs.structs.Msg.GuildBankMint:output_type -> structs.structs.MsgGuildBankMintResponse - 19, // 112: structs.structs.Msg.GuildBankRedeem:output_type -> structs.structs.MsgGuildBankRedeemResponse - 21, // 113: structs.structs.Msg.GuildBankConfiscateAndBurn:output_type -> structs.structs.MsgGuildBankConfiscateAndBurnResponse - 30, // 114: structs.structs.Msg.GuildUpdateOwnerId:output_type -> structs.structs.MsgGuildUpdateResponse - 30, // 115: structs.structs.Msg.GuildUpdateEntrySubstationId:output_type -> structs.structs.MsgGuildUpdateResponse - 30, // 116: structs.structs.Msg.GuildUpdateEndpoint:output_type -> structs.structs.MsgGuildUpdateResponse - 30, // 117: structs.structs.Msg.GuildUpdateJoinInfusionMinimum:output_type -> structs.structs.MsgGuildUpdateResponse - 30, // 118: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByInvite:output_type -> structs.structs.MsgGuildUpdateResponse - 30, // 119: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByRequest:output_type -> structs.structs.MsgGuildUpdateResponse - 42, // 120: structs.structs.Msg.GuildMembershipInvite:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 121: structs.structs.Msg.GuildMembershipInviteApprove:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 122: structs.structs.Msg.GuildMembershipInviteDeny:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 123: structs.structs.Msg.GuildMembershipInviteRevoke:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 124: structs.structs.Msg.GuildMembershipJoin:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 125: structs.structs.Msg.GuildMembershipJoinProxy:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 126: structs.structs.Msg.GuildMembershipKick:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 127: structs.structs.Msg.GuildMembershipRequest:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 128: structs.structs.Msg.GuildMembershipRequestApprove:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 129: structs.structs.Msg.GuildMembershipRequestDeny:output_type -> structs.structs.MsgGuildMembershipResponse - 42, // 130: structs.structs.Msg.GuildMembershipRequestRevoke:output_type -> structs.structs.MsgGuildMembershipResponse - 49, // 131: structs.structs.Msg.PermissionGrantOnAddress:output_type -> structs.structs.MsgPermissionResponse - 49, // 132: structs.structs.Msg.PermissionGrantOnObject:output_type -> structs.structs.MsgPermissionResponse - 49, // 133: structs.structs.Msg.PermissionRevokeOnAddress:output_type -> structs.structs.MsgPermissionResponse - 49, // 134: structs.structs.Msg.PermissionRevokeOnObject:output_type -> structs.structs.MsgPermissionResponse - 49, // 135: structs.structs.Msg.PermissionSetOnAddress:output_type -> structs.structs.MsgPermissionResponse - 49, // 136: structs.structs.Msg.PermissionSetOnObject:output_type -> structs.structs.MsgPermissionResponse - 51, // 137: structs.structs.Msg.PlanetExplore:output_type -> structs.structs.MsgPlanetExploreResponse - 53, // 138: structs.structs.Msg.PlanetRaidComplete:output_type -> structs.structs.MsgPlanetRaidCompleteResponse - 55, // 139: structs.structs.Msg.PlayerUpdatePrimaryAddress:output_type -> structs.structs.MsgPlayerUpdatePrimaryAddressResponse - 57, // 140: structs.structs.Msg.PlayerResume:output_type -> structs.structs.MsgPlayerResumeResponse - 110, // 141: structs.structs.Msg.ProviderCreate:output_type -> structs.structs.MsgProviderResponse - 110, // 142: structs.structs.Msg.ProviderWithdrawBalance:output_type -> structs.structs.MsgProviderResponse - 110, // 143: structs.structs.Msg.ProviderUpdateCapacityMinimum:output_type -> structs.structs.MsgProviderResponse - 110, // 144: structs.structs.Msg.ProviderUpdateCapacityMaximum:output_type -> structs.structs.MsgProviderResponse - 110, // 145: structs.structs.Msg.ProviderUpdateDurationMinimum:output_type -> structs.structs.MsgProviderResponse - 110, // 146: structs.structs.Msg.ProviderUpdateDurationMaximum:output_type -> structs.structs.MsgProviderResponse - 110, // 147: structs.structs.Msg.ProviderUpdateAccessPolicy:output_type -> structs.structs.MsgProviderResponse - 110, // 148: structs.structs.Msg.ProviderGuildGrant:output_type -> structs.structs.MsgProviderResponse - 110, // 149: structs.structs.Msg.ProviderGuildRevoke:output_type -> structs.structs.MsgProviderResponse - 110, // 150: structs.structs.Msg.ProviderDelete:output_type -> structs.structs.MsgProviderResponse - 58, // 151: structs.structs.Msg.StructActivate:output_type -> structs.structs.MsgStructStatusResponse - 58, // 152: structs.structs.Msg.StructDeactivate:output_type -> structs.structs.MsgStructStatusResponse - 58, // 153: structs.structs.Msg.StructBuildInitiate:output_type -> structs.structs.MsgStructStatusResponse - 58, // 154: structs.structs.Msg.StructBuildComplete:output_type -> structs.structs.MsgStructStatusResponse - 58, // 155: structs.structs.Msg.StructBuildCancel:output_type -> structs.structs.MsgStructStatusResponse - 58, // 156: structs.structs.Msg.StructDefenseSet:output_type -> structs.structs.MsgStructStatusResponse - 58, // 157: structs.structs.Msg.StructDefenseClear:output_type -> structs.structs.MsgStructStatusResponse - 58, // 158: structs.structs.Msg.StructMove:output_type -> structs.structs.MsgStructStatusResponse - 69, // 159: structs.structs.Msg.StructAttack:output_type -> structs.structs.MsgStructAttackResponse - 58, // 160: structs.structs.Msg.StructStealthActivate:output_type -> structs.structs.MsgStructStatusResponse - 58, // 161: structs.structs.Msg.StructStealthDeactivate:output_type -> structs.structs.MsgStructStatusResponse - 73, // 162: structs.structs.Msg.StructGeneratorInfuse:output_type -> structs.structs.MsgStructGeneratorStatusResponse - 75, // 163: structs.structs.Msg.StructOreMinerComplete:output_type -> structs.structs.MsgStructOreMinerStatusResponse - 77, // 164: structs.structs.Msg.StructOreRefineryComplete:output_type -> structs.structs.MsgStructOreRefineryStatusResponse - 81, // 165: structs.structs.Msg.SubstationCreate:output_type -> structs.structs.MsgSubstationCreateResponse - 83, // 166: structs.structs.Msg.SubstationDelete:output_type -> structs.structs.MsgSubstationDeleteResponse - 85, // 167: structs.structs.Msg.SubstationAllocationConnect:output_type -> structs.structs.MsgSubstationAllocationConnectResponse - 87, // 168: structs.structs.Msg.SubstationAllocationDisconnect:output_type -> structs.structs.MsgSubstationAllocationDisconnectResponse - 89, // 169: structs.structs.Msg.SubstationPlayerConnect:output_type -> structs.structs.MsgSubstationPlayerConnectResponse - 91, // 170: structs.structs.Msg.SubstationPlayerDisconnect:output_type -> structs.structs.MsgSubstationPlayerDisconnectResponse - 93, // 171: structs.structs.Msg.SubstationPlayerMigrate:output_type -> structs.structs.MsgSubstationPlayerMigrateResponse - 97, // [97:172] is the sub-list for method output_type - 22, // [22:97] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 119, // 0: structs.structs.MsgUpdateParams.params:type_name -> structs.structs.Params + 120, // 1: structs.structs.MsgAllocationCreate.allocationType:type_name -> structs.structs.allocationType + 121, // 2: structs.structs.MsgFleetMoveResponse.fleet:type_name -> structs.structs.Fleet + 122, // 3: structs.structs.MsgGuildBankRedeem.amountToken:type_name -> cosmos.base.v1beta1.Coin + 123, // 4: structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest.guildJoinBypassLevel:type_name -> structs.structs.guildJoinBypassLevel + 123, // 5: structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite.guildJoinBypassLevel:type_name -> structs.structs.guildJoinBypassLevel + 124, // 6: structs.structs.MsgGuildMembershipResponse.guildMembershipApplication:type_name -> structs.structs.GuildMembershipApplication + 125, // 7: structs.structs.MsgPlanetExploreResponse.planet:type_name -> structs.structs.Planet + 121, // 8: structs.structs.MsgPlanetRaidCompleteResponse.fleet:type_name -> structs.structs.Fleet + 125, // 9: structs.structs.MsgPlanetRaidCompleteResponse.planet:type_name -> structs.structs.Planet + 122, // 10: structs.structs.MsgReactorInfuse.amount:type_name -> cosmos.base.v1beta1.Coin + 122, // 11: structs.structs.MsgReactorBeginMigration.amount:type_name -> cosmos.base.v1beta1.Coin + 126, // 12: structs.structs.MsgReactorBeginMigrationResponse.completion_time:type_name -> google.protobuf.Timestamp + 122, // 13: structs.structs.MsgReactorDefuse.amount:type_name -> cosmos.base.v1beta1.Coin + 126, // 14: structs.structs.MsgReactorDefuseResponse.completion_time:type_name -> google.protobuf.Timestamp + 122, // 15: structs.structs.MsgReactorDefuseResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 122, // 16: structs.structs.MsgReactorCancelDefusion.amount:type_name -> cosmos.base.v1beta1.Coin + 127, // 17: structs.structs.MsgStructStatusResponse.struct:type_name -> structs.structs.Struct + 128, // 18: structs.structs.MsgStructBuildInitiate.operatingAmbit:type_name -> structs.structs.ambit + 128, // 19: structs.structs.MsgStructBuildCompleteAndStash.storageAmbit:type_name -> structs.structs.ambit + 129, // 20: structs.structs.MsgStructMove.locationType:type_name -> structs.structs.objectType + 128, // 21: structs.structs.MsgStructMove.ambit:type_name -> structs.structs.ambit + 127, // 22: structs.structs.MsgStructOreMinerStatusResponse.struct:type_name -> structs.structs.Struct + 127, // 23: structs.structs.MsgStructOreRefineryStatusResponse.struct:type_name -> structs.structs.Struct + 128, // 24: structs.structs.MsgStructStorageStash.ambit:type_name -> structs.structs.ambit + 128, // 25: structs.structs.MsgStructStorageRecall.ambit:type_name -> structs.structs.ambit + 122, // 26: structs.structs.MsgProviderCreate.rate:type_name -> cosmos.base.v1beta1.Coin + 130, // 27: structs.structs.MsgProviderCreate.accessPolicy:type_name -> structs.structs.providerAccessPolicy + 130, // 28: structs.structs.MsgProviderUpdateAccessPolicy.accessPolicy:type_name -> structs.structs.providerAccessPolicy + 0, // 29: structs.structs.Msg.UpdateParams:input_type -> structs.structs.MsgUpdateParams + 2, // 30: structs.structs.Msg.AddressRegister:input_type -> structs.structs.MsgAddressRegister + 4, // 31: structs.structs.Msg.AddressRevoke:input_type -> structs.structs.MsgAddressRevoke + 102, // 32: structs.structs.Msg.AgreementOpen:input_type -> structs.structs.MsgAgreementOpen + 103, // 33: structs.structs.Msg.AgreementClose:input_type -> structs.structs.MsgAgreementClose + 104, // 34: structs.structs.Msg.AgreementCapacityIncrease:input_type -> structs.structs.MsgAgreementCapacityIncrease + 105, // 35: structs.structs.Msg.AgreementCapacityDecrease:input_type -> structs.structs.MsgAgreementCapacityDecrease + 106, // 36: structs.structs.Msg.AgreementDurationIncrease:input_type -> structs.structs.MsgAgreementDurationIncrease + 6, // 37: structs.structs.Msg.AllocationCreate:input_type -> structs.structs.MsgAllocationCreate + 8, // 38: structs.structs.Msg.AllocationDelete:input_type -> structs.structs.MsgAllocationDelete + 10, // 39: structs.structs.Msg.AllocationUpdate:input_type -> structs.structs.MsgAllocationUpdate + 12, // 40: structs.structs.Msg.AllocationTransfer:input_type -> structs.structs.MsgAllocationTransfer + 14, // 41: structs.structs.Msg.FleetMove:input_type -> structs.structs.MsgFleetMove + 22, // 42: structs.structs.Msg.GuildCreate:input_type -> structs.structs.MsgGuildCreate + 16, // 43: structs.structs.Msg.GuildBankMint:input_type -> structs.structs.MsgGuildBankMint + 18, // 44: structs.structs.Msg.GuildBankRedeem:input_type -> structs.structs.MsgGuildBankRedeem + 20, // 45: structs.structs.Msg.GuildBankConfiscateAndBurn:input_type -> structs.structs.MsgGuildBankConfiscateAndBurn + 24, // 46: structs.structs.Msg.GuildUpdateOwnerId:input_type -> structs.structs.MsgGuildUpdateOwnerId + 25, // 47: structs.structs.Msg.GuildUpdateEntrySubstationId:input_type -> structs.structs.MsgGuildUpdateEntrySubstationId + 26, // 48: structs.structs.Msg.GuildUpdateEndpoint:input_type -> structs.structs.MsgGuildUpdateEndpoint + 27, // 49: structs.structs.Msg.GuildUpdateJoinInfusionMinimum:input_type -> structs.structs.MsgGuildUpdateJoinInfusionMinimum + 29, // 50: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByInvite:input_type -> structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite + 28, // 51: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByRequest:input_type -> structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest + 31, // 52: structs.structs.Msg.GuildMembershipInvite:input_type -> structs.structs.MsgGuildMembershipInvite + 32, // 53: structs.structs.Msg.GuildMembershipInviteApprove:input_type -> structs.structs.MsgGuildMembershipInviteApprove + 33, // 54: structs.structs.Msg.GuildMembershipInviteDeny:input_type -> structs.structs.MsgGuildMembershipInviteDeny + 34, // 55: structs.structs.Msg.GuildMembershipInviteRevoke:input_type -> structs.structs.MsgGuildMembershipInviteRevoke + 35, // 56: structs.structs.Msg.GuildMembershipJoin:input_type -> structs.structs.MsgGuildMembershipJoin + 36, // 57: structs.structs.Msg.GuildMembershipJoinProxy:input_type -> structs.structs.MsgGuildMembershipJoinProxy + 37, // 58: structs.structs.Msg.GuildMembershipKick:input_type -> structs.structs.MsgGuildMembershipKick + 38, // 59: structs.structs.Msg.GuildMembershipRequest:input_type -> structs.structs.MsgGuildMembershipRequest + 39, // 60: structs.structs.Msg.GuildMembershipRequestApprove:input_type -> structs.structs.MsgGuildMembershipRequestApprove + 40, // 61: structs.structs.Msg.GuildMembershipRequestDeny:input_type -> structs.structs.MsgGuildMembershipRequestDeny + 41, // 62: structs.structs.Msg.GuildMembershipRequestRevoke:input_type -> structs.structs.MsgGuildMembershipRequestRevoke + 44, // 63: structs.structs.Msg.PermissionGrantOnAddress:input_type -> structs.structs.MsgPermissionGrantOnAddress + 43, // 64: structs.structs.Msg.PermissionGrantOnObject:input_type -> structs.structs.MsgPermissionGrantOnObject + 46, // 65: structs.structs.Msg.PermissionRevokeOnAddress:input_type -> structs.structs.MsgPermissionRevokeOnAddress + 45, // 66: structs.structs.Msg.PermissionRevokeOnObject:input_type -> structs.structs.MsgPermissionRevokeOnObject + 48, // 67: structs.structs.Msg.PermissionSetOnAddress:input_type -> structs.structs.MsgPermissionSetOnAddress + 47, // 68: structs.structs.Msg.PermissionSetOnObject:input_type -> structs.structs.MsgPermissionSetOnObject + 50, // 69: structs.structs.Msg.PlanetExplore:input_type -> structs.structs.MsgPlanetExplore + 52, // 70: structs.structs.Msg.PlanetRaidComplete:input_type -> structs.structs.MsgPlanetRaidComplete + 54, // 71: structs.structs.Msg.PlayerUpdatePrimaryAddress:input_type -> structs.structs.MsgPlayerUpdatePrimaryAddress + 56, // 72: structs.structs.Msg.PlayerResume:input_type -> structs.structs.MsgPlayerResume + 108, // 73: structs.structs.Msg.ProviderCreate:input_type -> structs.structs.MsgProviderCreate + 109, // 74: structs.structs.Msg.ProviderWithdrawBalance:input_type -> structs.structs.MsgProviderWithdrawBalance + 110, // 75: structs.structs.Msg.ProviderUpdateCapacityMinimum:input_type -> structs.structs.MsgProviderUpdateCapacityMinimum + 111, // 76: structs.structs.Msg.ProviderUpdateCapacityMaximum:input_type -> structs.structs.MsgProviderUpdateCapacityMaximum + 112, // 77: structs.structs.Msg.ProviderUpdateDurationMinimum:input_type -> structs.structs.MsgProviderUpdateDurationMinimum + 113, // 78: structs.structs.Msg.ProviderUpdateDurationMaximum:input_type -> structs.structs.MsgProviderUpdateDurationMaximum + 114, // 79: structs.structs.Msg.ProviderUpdateAccessPolicy:input_type -> structs.structs.MsgProviderUpdateAccessPolicy + 115, // 80: structs.structs.Msg.ProviderGuildGrant:input_type -> structs.structs.MsgProviderGuildGrant + 116, // 81: structs.structs.Msg.ProviderGuildRevoke:input_type -> structs.structs.MsgProviderGuildRevoke + 117, // 82: structs.structs.Msg.ProviderDelete:input_type -> structs.structs.MsgProviderDelete + 58, // 83: structs.structs.Msg.ReactorInfuse:input_type -> structs.structs.MsgReactorInfuse + 62, // 84: structs.structs.Msg.ReactorDefuse:input_type -> structs.structs.MsgReactorDefuse + 60, // 85: structs.structs.Msg.ReactorBeginMigration:input_type -> structs.structs.MsgReactorBeginMigration + 64, // 86: structs.structs.Msg.ReactorCancelDefusion:input_type -> structs.structs.MsgReactorCancelDefusion + 67, // 87: structs.structs.Msg.StructActivate:input_type -> structs.structs.MsgStructActivate + 68, // 88: structs.structs.Msg.StructDeactivate:input_type -> structs.structs.MsgStructDeactivate + 69, // 89: structs.structs.Msg.StructBuildInitiate:input_type -> structs.structs.MsgStructBuildInitiate + 70, // 90: structs.structs.Msg.StructBuildComplete:input_type -> structs.structs.MsgStructBuildComplete + 71, // 91: structs.structs.Msg.StructBuildCancel:input_type -> structs.structs.MsgStructBuildCancel + 73, // 92: structs.structs.Msg.StructDefenseSet:input_type -> structs.structs.MsgStructDefenseSet + 74, // 93: structs.structs.Msg.StructDefenseClear:input_type -> structs.structs.MsgStructDefenseClear + 75, // 94: structs.structs.Msg.StructMove:input_type -> structs.structs.MsgStructMove + 76, // 95: structs.structs.Msg.StructAttack:input_type -> structs.structs.MsgStructAttack + 78, // 96: structs.structs.Msg.StructStealthActivate:input_type -> structs.structs.MsgStructStealthActivate + 79, // 97: structs.structs.Msg.StructStealthDeactivate:input_type -> structs.structs.MsgStructStealthDeactivate + 80, // 98: structs.structs.Msg.StructGeneratorInfuse:input_type -> structs.structs.MsgStructGeneratorInfuse + 82, // 99: structs.structs.Msg.StructOreMinerComplete:input_type -> structs.structs.MsgStructOreMinerComplete + 84, // 100: structs.structs.Msg.StructOreRefineryComplete:input_type -> structs.structs.MsgStructOreRefineryComplete + 88, // 101: structs.structs.Msg.SubstationCreate:input_type -> structs.structs.MsgSubstationCreate + 90, // 102: structs.structs.Msg.SubstationDelete:input_type -> structs.structs.MsgSubstationDelete + 92, // 103: structs.structs.Msg.SubstationAllocationConnect:input_type -> structs.structs.MsgSubstationAllocationConnect + 94, // 104: structs.structs.Msg.SubstationAllocationDisconnect:input_type -> structs.structs.MsgSubstationAllocationDisconnect + 96, // 105: structs.structs.Msg.SubstationPlayerConnect:input_type -> structs.structs.MsgSubstationPlayerConnect + 98, // 106: structs.structs.Msg.SubstationPlayerDisconnect:input_type -> structs.structs.MsgSubstationPlayerDisconnect + 100, // 107: structs.structs.Msg.SubstationPlayerMigrate:input_type -> structs.structs.MsgSubstationPlayerMigrate + 1, // 108: structs.structs.Msg.UpdateParams:output_type -> structs.structs.MsgUpdateParamsResponse + 3, // 109: structs.structs.Msg.AddressRegister:output_type -> structs.structs.MsgAddressRegisterResponse + 5, // 110: structs.structs.Msg.AddressRevoke:output_type -> structs.structs.MsgAddressRevokeResponse + 107, // 111: structs.structs.Msg.AgreementOpen:output_type -> structs.structs.MsgAgreementResponse + 107, // 112: structs.structs.Msg.AgreementClose:output_type -> structs.structs.MsgAgreementResponse + 107, // 113: structs.structs.Msg.AgreementCapacityIncrease:output_type -> structs.structs.MsgAgreementResponse + 107, // 114: structs.structs.Msg.AgreementCapacityDecrease:output_type -> structs.structs.MsgAgreementResponse + 107, // 115: structs.structs.Msg.AgreementDurationIncrease:output_type -> structs.structs.MsgAgreementResponse + 7, // 116: structs.structs.Msg.AllocationCreate:output_type -> structs.structs.MsgAllocationCreateResponse + 9, // 117: structs.structs.Msg.AllocationDelete:output_type -> structs.structs.MsgAllocationDeleteResponse + 11, // 118: structs.structs.Msg.AllocationUpdate:output_type -> structs.structs.MsgAllocationUpdateResponse + 13, // 119: structs.structs.Msg.AllocationTransfer:output_type -> structs.structs.MsgAllocationTransferResponse + 15, // 120: structs.structs.Msg.FleetMove:output_type -> structs.structs.MsgFleetMoveResponse + 23, // 121: structs.structs.Msg.GuildCreate:output_type -> structs.structs.MsgGuildCreateResponse + 17, // 122: structs.structs.Msg.GuildBankMint:output_type -> structs.structs.MsgGuildBankMintResponse + 19, // 123: structs.structs.Msg.GuildBankRedeem:output_type -> structs.structs.MsgGuildBankRedeemResponse + 21, // 124: structs.structs.Msg.GuildBankConfiscateAndBurn:output_type -> structs.structs.MsgGuildBankConfiscateAndBurnResponse + 30, // 125: structs.structs.Msg.GuildUpdateOwnerId:output_type -> structs.structs.MsgGuildUpdateResponse + 30, // 126: structs.structs.Msg.GuildUpdateEntrySubstationId:output_type -> structs.structs.MsgGuildUpdateResponse + 30, // 127: structs.structs.Msg.GuildUpdateEndpoint:output_type -> structs.structs.MsgGuildUpdateResponse + 30, // 128: structs.structs.Msg.GuildUpdateJoinInfusionMinimum:output_type -> structs.structs.MsgGuildUpdateResponse + 30, // 129: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByInvite:output_type -> structs.structs.MsgGuildUpdateResponse + 30, // 130: structs.structs.Msg.GuildUpdateJoinInfusionMinimumBypassByRequest:output_type -> structs.structs.MsgGuildUpdateResponse + 42, // 131: structs.structs.Msg.GuildMembershipInvite:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 132: structs.structs.Msg.GuildMembershipInviteApprove:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 133: structs.structs.Msg.GuildMembershipInviteDeny:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 134: structs.structs.Msg.GuildMembershipInviteRevoke:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 135: structs.structs.Msg.GuildMembershipJoin:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 136: structs.structs.Msg.GuildMembershipJoinProxy:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 137: structs.structs.Msg.GuildMembershipKick:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 138: structs.structs.Msg.GuildMembershipRequest:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 139: structs.structs.Msg.GuildMembershipRequestApprove:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 140: structs.structs.Msg.GuildMembershipRequestDeny:output_type -> structs.structs.MsgGuildMembershipResponse + 42, // 141: structs.structs.Msg.GuildMembershipRequestRevoke:output_type -> structs.structs.MsgGuildMembershipResponse + 49, // 142: structs.structs.Msg.PermissionGrantOnAddress:output_type -> structs.structs.MsgPermissionResponse + 49, // 143: structs.structs.Msg.PermissionGrantOnObject:output_type -> structs.structs.MsgPermissionResponse + 49, // 144: structs.structs.Msg.PermissionRevokeOnAddress:output_type -> structs.structs.MsgPermissionResponse + 49, // 145: structs.structs.Msg.PermissionRevokeOnObject:output_type -> structs.structs.MsgPermissionResponse + 49, // 146: structs.structs.Msg.PermissionSetOnAddress:output_type -> structs.structs.MsgPermissionResponse + 49, // 147: structs.structs.Msg.PermissionSetOnObject:output_type -> structs.structs.MsgPermissionResponse + 51, // 148: structs.structs.Msg.PlanetExplore:output_type -> structs.structs.MsgPlanetExploreResponse + 53, // 149: structs.structs.Msg.PlanetRaidComplete:output_type -> structs.structs.MsgPlanetRaidCompleteResponse + 55, // 150: structs.structs.Msg.PlayerUpdatePrimaryAddress:output_type -> structs.structs.MsgPlayerUpdatePrimaryAddressResponse + 57, // 151: structs.structs.Msg.PlayerResume:output_type -> structs.structs.MsgPlayerResumeResponse + 118, // 152: structs.structs.Msg.ProviderCreate:output_type -> structs.structs.MsgProviderResponse + 118, // 153: structs.structs.Msg.ProviderWithdrawBalance:output_type -> structs.structs.MsgProviderResponse + 118, // 154: structs.structs.Msg.ProviderUpdateCapacityMinimum:output_type -> structs.structs.MsgProviderResponse + 118, // 155: structs.structs.Msg.ProviderUpdateCapacityMaximum:output_type -> structs.structs.MsgProviderResponse + 118, // 156: structs.structs.Msg.ProviderUpdateDurationMinimum:output_type -> structs.structs.MsgProviderResponse + 118, // 157: structs.structs.Msg.ProviderUpdateDurationMaximum:output_type -> structs.structs.MsgProviderResponse + 118, // 158: structs.structs.Msg.ProviderUpdateAccessPolicy:output_type -> structs.structs.MsgProviderResponse + 118, // 159: structs.structs.Msg.ProviderGuildGrant:output_type -> structs.structs.MsgProviderResponse + 118, // 160: structs.structs.Msg.ProviderGuildRevoke:output_type -> structs.structs.MsgProviderResponse + 118, // 161: structs.structs.Msg.ProviderDelete:output_type -> structs.structs.MsgProviderResponse + 59, // 162: structs.structs.Msg.ReactorInfuse:output_type -> structs.structs.MsgReactorInfuseResponse + 63, // 163: structs.structs.Msg.ReactorDefuse:output_type -> structs.structs.MsgReactorDefuseResponse + 61, // 164: structs.structs.Msg.ReactorBeginMigration:output_type -> structs.structs.MsgReactorBeginMigrationResponse + 65, // 165: structs.structs.Msg.ReactorCancelDefusion:output_type -> structs.structs.MsgReactorCancelDefusionResponse + 66, // 166: structs.structs.Msg.StructActivate:output_type -> structs.structs.MsgStructStatusResponse + 66, // 167: structs.structs.Msg.StructDeactivate:output_type -> structs.structs.MsgStructStatusResponse + 66, // 168: structs.structs.Msg.StructBuildInitiate:output_type -> structs.structs.MsgStructStatusResponse + 66, // 169: structs.structs.Msg.StructBuildComplete:output_type -> structs.structs.MsgStructStatusResponse + 66, // 170: structs.structs.Msg.StructBuildCancel:output_type -> structs.structs.MsgStructStatusResponse + 66, // 171: structs.structs.Msg.StructDefenseSet:output_type -> structs.structs.MsgStructStatusResponse + 66, // 172: structs.structs.Msg.StructDefenseClear:output_type -> structs.structs.MsgStructStatusResponse + 66, // 173: structs.structs.Msg.StructMove:output_type -> structs.structs.MsgStructStatusResponse + 77, // 174: structs.structs.Msg.StructAttack:output_type -> structs.structs.MsgStructAttackResponse + 66, // 175: structs.structs.Msg.StructStealthActivate:output_type -> structs.structs.MsgStructStatusResponse + 66, // 176: structs.structs.Msg.StructStealthDeactivate:output_type -> structs.structs.MsgStructStatusResponse + 81, // 177: structs.structs.Msg.StructGeneratorInfuse:output_type -> structs.structs.MsgStructGeneratorStatusResponse + 83, // 178: structs.structs.Msg.StructOreMinerComplete:output_type -> structs.structs.MsgStructOreMinerStatusResponse + 85, // 179: structs.structs.Msg.StructOreRefineryComplete:output_type -> structs.structs.MsgStructOreRefineryStatusResponse + 89, // 180: structs.structs.Msg.SubstationCreate:output_type -> structs.structs.MsgSubstationCreateResponse + 91, // 181: structs.structs.Msg.SubstationDelete:output_type -> structs.structs.MsgSubstationDeleteResponse + 93, // 182: structs.structs.Msg.SubstationAllocationConnect:output_type -> structs.structs.MsgSubstationAllocationConnectResponse + 95, // 183: structs.structs.Msg.SubstationAllocationDisconnect:output_type -> structs.structs.MsgSubstationAllocationDisconnectResponse + 97, // 184: structs.structs.Msg.SubstationPlayerConnect:output_type -> structs.structs.MsgSubstationPlayerConnectResponse + 99, // 185: structs.structs.Msg.SubstationPlayerDisconnect:output_type -> structs.structs.MsgSubstationPlayerDisconnectResponse + 101, // 186: structs.structs.Msg.SubstationPlayerMigrate:output_type -> structs.structs.MsgSubstationPlayerMigrateResponse + 108, // [108:187] is the sub-list for method output_type + 29, // [29:108] is the sub-list for method input_type + 29, // [29:29] is the sub-list for extension type_name + 29, // [29:29] is the sub-list for extension extendee + 0, // [0:29] is the sub-list for field type_name } func init() { file_structs_structs_tx_proto_init() } @@ -64529,7 +69377,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructStatusResponse); i { + switch v := v.(*MsgReactorInfuse); i { case 0: return &v.state case 1: @@ -64541,7 +69389,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructActivate); i { + switch v := v.(*MsgReactorInfuseResponse); i { case 0: return &v.state case 1: @@ -64553,7 +69401,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructDeactivate); i { + switch v := v.(*MsgReactorBeginMigration); i { case 0: return &v.state case 1: @@ -64565,7 +69413,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructBuildInitiate); i { + switch v := v.(*MsgReactorBeginMigrationResponse); i { case 0: return &v.state case 1: @@ -64577,7 +69425,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructBuildComplete); i { + switch v := v.(*MsgReactorDefuse); i { case 0: return &v.state case 1: @@ -64589,7 +69437,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructBuildCancel); i { + switch v := v.(*MsgReactorDefuseResponse); i { case 0: return &v.state case 1: @@ -64601,7 +69449,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructBuildCompleteAndStash); i { + switch v := v.(*MsgReactorCancelDefusion); i { case 0: return &v.state case 1: @@ -64613,7 +69461,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructDefenseSet); i { + switch v := v.(*MsgReactorCancelDefusionResponse); i { case 0: return &v.state case 1: @@ -64625,7 +69473,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructDefenseClear); i { + switch v := v.(*MsgStructStatusResponse); i { case 0: return &v.state case 1: @@ -64637,7 +69485,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructMove); i { + switch v := v.(*MsgStructActivate); i { case 0: return &v.state case 1: @@ -64649,7 +69497,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructAttack); i { + switch v := v.(*MsgStructDeactivate); i { case 0: return &v.state case 1: @@ -64661,7 +69509,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructAttackResponse); i { + switch v := v.(*MsgStructBuildInitiate); i { case 0: return &v.state case 1: @@ -64673,7 +69521,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructStealthActivate); i { + switch v := v.(*MsgStructBuildComplete); i { case 0: return &v.state case 1: @@ -64685,7 +69533,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructStealthDeactivate); i { + switch v := v.(*MsgStructBuildCancel); i { case 0: return &v.state case 1: @@ -64697,7 +69545,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructGeneratorInfuse); i { + switch v := v.(*MsgStructBuildCompleteAndStash); i { case 0: return &v.state case 1: @@ -64709,7 +69557,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructGeneratorStatusResponse); i { + switch v := v.(*MsgStructDefenseSet); i { case 0: return &v.state case 1: @@ -64721,7 +69569,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructOreMinerComplete); i { + switch v := v.(*MsgStructDefenseClear); i { case 0: return &v.state case 1: @@ -64733,7 +69581,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructOreMinerStatusResponse); i { + switch v := v.(*MsgStructMove); i { case 0: return &v.state case 1: @@ -64745,7 +69593,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructOreRefineryComplete); i { + switch v := v.(*MsgStructAttack); i { case 0: return &v.state case 1: @@ -64757,7 +69605,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructOreRefineryStatusResponse); i { + switch v := v.(*MsgStructAttackResponse); i { case 0: return &v.state case 1: @@ -64769,7 +69617,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructStorageStash); i { + switch v := v.(*MsgStructStealthActivate); i { case 0: return &v.state case 1: @@ -64781,7 +69629,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgStructStorageRecall); i { + switch v := v.(*MsgStructStealthDeactivate); i { case 0: return &v.state case 1: @@ -64793,7 +69641,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationCreate); i { + switch v := v.(*MsgStructGeneratorInfuse); i { case 0: return &v.state case 1: @@ -64805,7 +69653,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationCreateResponse); i { + switch v := v.(*MsgStructGeneratorStatusResponse); i { case 0: return &v.state case 1: @@ -64817,7 +69665,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationDelete); i { + switch v := v.(*MsgStructOreMinerComplete); i { case 0: return &v.state case 1: @@ -64829,7 +69677,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationDeleteResponse); i { + switch v := v.(*MsgStructOreMinerStatusResponse); i { case 0: return &v.state case 1: @@ -64841,7 +69689,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationAllocationConnect); i { + switch v := v.(*MsgStructOreRefineryComplete); i { case 0: return &v.state case 1: @@ -64853,7 +69701,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationAllocationConnectResponse); i { + switch v := v.(*MsgStructOreRefineryStatusResponse); i { case 0: return &v.state case 1: @@ -64865,7 +69713,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationAllocationDisconnect); i { + switch v := v.(*MsgStructStorageStash); i { case 0: return &v.state case 1: @@ -64877,7 +69725,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationAllocationDisconnectResponse); i { + switch v := v.(*MsgStructStorageRecall); i { case 0: return &v.state case 1: @@ -64889,7 +69737,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationPlayerConnect); i { + switch v := v.(*MsgSubstationCreate); i { case 0: return &v.state case 1: @@ -64901,7 +69749,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationPlayerConnectResponse); i { + switch v := v.(*MsgSubstationCreateResponse); i { case 0: return &v.state case 1: @@ -64913,7 +69761,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationPlayerDisconnect); i { + switch v := v.(*MsgSubstationDelete); i { case 0: return &v.state case 1: @@ -64925,7 +69773,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationPlayerDisconnectResponse); i { + switch v := v.(*MsgSubstationDeleteResponse); i { case 0: return &v.state case 1: @@ -64937,7 +69785,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationPlayerMigrate); i { + switch v := v.(*MsgSubstationAllocationConnect); i { case 0: return &v.state case 1: @@ -64949,7 +69797,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgSubstationPlayerMigrateResponse); i { + switch v := v.(*MsgSubstationAllocationConnectResponse); i { case 0: return &v.state case 1: @@ -64961,7 +69809,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAgreementOpen); i { + switch v := v.(*MsgSubstationAllocationDisconnect); i { case 0: return &v.state case 1: @@ -64973,7 +69821,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAgreementClose); i { + switch v := v.(*MsgSubstationAllocationDisconnectResponse); i { case 0: return &v.state case 1: @@ -64985,7 +69833,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAgreementCapacityIncrease); i { + switch v := v.(*MsgSubstationPlayerConnect); i { case 0: return &v.state case 1: @@ -64997,7 +69845,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAgreementCapacityDecrease); i { + switch v := v.(*MsgSubstationPlayerConnectResponse); i { case 0: return &v.state case 1: @@ -65009,7 +69857,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAgreementDurationIncrease); i { + switch v := v.(*MsgSubstationPlayerDisconnect); i { case 0: return &v.state case 1: @@ -65021,7 +69869,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgAgreementResponse); i { + switch v := v.(*MsgSubstationPlayerDisconnectResponse); i { case 0: return &v.state case 1: @@ -65033,7 +69881,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderCreate); i { + switch v := v.(*MsgSubstationPlayerMigrate); i { case 0: return &v.state case 1: @@ -65045,7 +69893,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderWithdrawBalance); i { + switch v := v.(*MsgSubstationPlayerMigrateResponse); i { case 0: return &v.state case 1: @@ -65057,7 +69905,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderUpdateCapacityMinimum); i { + switch v := v.(*MsgAgreementOpen); i { case 0: return &v.state case 1: @@ -65069,7 +69917,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderUpdateCapacityMaximum); i { + switch v := v.(*MsgAgreementClose); i { case 0: return &v.state case 1: @@ -65081,7 +69929,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderUpdateDurationMinimum); i { + switch v := v.(*MsgAgreementCapacityIncrease); i { case 0: return &v.state case 1: @@ -65093,7 +69941,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderUpdateDurationMaximum); i { + switch v := v.(*MsgAgreementCapacityDecrease); i { case 0: return &v.state case 1: @@ -65105,7 +69953,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderUpdateAccessPolicy); i { + switch v := v.(*MsgAgreementDurationIncrease); i { case 0: return &v.state case 1: @@ -65117,7 +69965,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderGuildGrant); i { + switch v := v.(*MsgAgreementResponse); i { case 0: return &v.state case 1: @@ -65129,7 +69977,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderGuildRevoke); i { + switch v := v.(*MsgProviderCreate); i { case 0: return &v.state case 1: @@ -65141,7 +69989,7 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MsgProviderDelete); i { + switch v := v.(*MsgProviderWithdrawBalance); i { case 0: return &v.state case 1: @@ -65153,6 +70001,102 @@ func file_structs_structs_tx_proto_init() { } } file_structs_structs_tx_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderUpdateCapacityMinimum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderUpdateCapacityMaximum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderUpdateDurationMinimum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderUpdateDurationMaximum); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderUpdateAccessPolicy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderGuildGrant); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderGuildRevoke); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgProviderDelete); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_structs_structs_tx_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgProviderResponse); i { case 0: return &v.state @@ -65171,7 +70115,7 @@ func file_structs_structs_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_structs_structs_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 111, + NumMessages: 119, NumExtensions: 0, NumServices: 1, }, diff --git a/api/structs/structs/tx_grpc.pb.go b/api/structs/structs/tx_grpc.pb.go index c91c5fb..330b5a6 100644 --- a/api/structs/structs/tx_grpc.pb.go +++ b/api/structs/structs/tx_grpc.pb.go @@ -73,6 +73,10 @@ const ( Msg_ProviderGuildGrant_FullMethodName = "/structs.structs.Msg/ProviderGuildGrant" Msg_ProviderGuildRevoke_FullMethodName = "/structs.structs.Msg/ProviderGuildRevoke" Msg_ProviderDelete_FullMethodName = "/structs.structs.Msg/ProviderDelete" + Msg_ReactorInfuse_FullMethodName = "/structs.structs.Msg/ReactorInfuse" + Msg_ReactorDefuse_FullMethodName = "/structs.structs.Msg/ReactorDefuse" + Msg_ReactorBeginMigration_FullMethodName = "/structs.structs.Msg/ReactorBeginMigration" + Msg_ReactorCancelDefusion_FullMethodName = "/structs.structs.Msg/ReactorCancelDefusion" Msg_StructActivate_FullMethodName = "/structs.structs.Msg/StructActivate" Msg_StructDeactivate_FullMethodName = "/structs.structs.Msg/StructDeactivate" Msg_StructBuildInitiate_FullMethodName = "/structs.structs.Msg/StructBuildInitiate" @@ -156,6 +160,10 @@ type MsgClient interface { ProviderGuildGrant(ctx context.Context, in *MsgProviderGuildGrant, opts ...grpc.CallOption) (*MsgProviderResponse, error) ProviderGuildRevoke(ctx context.Context, in *MsgProviderGuildRevoke, opts ...grpc.CallOption) (*MsgProviderResponse, error) ProviderDelete(ctx context.Context, in *MsgProviderDelete, opts ...grpc.CallOption) (*MsgProviderResponse, error) + ReactorInfuse(ctx context.Context, in *MsgReactorInfuse, opts ...grpc.CallOption) (*MsgReactorInfuseResponse, error) + ReactorDefuse(ctx context.Context, in *MsgReactorDefuse, opts ...grpc.CallOption) (*MsgReactorDefuseResponse, error) + ReactorBeginMigration(ctx context.Context, in *MsgReactorBeginMigration, opts ...grpc.CallOption) (*MsgReactorBeginMigrationResponse, error) + ReactorCancelDefusion(ctx context.Context, in *MsgReactorCancelDefusion, opts ...grpc.CallOption) (*MsgReactorCancelDefusionResponse, error) StructActivate(ctx context.Context, in *MsgStructActivate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) StructDeactivate(ctx context.Context, in *MsgStructDeactivate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) StructBuildInitiate(ctx context.Context, in *MsgStructBuildInitiate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) @@ -673,6 +681,42 @@ func (c *msgClient) ProviderDelete(ctx context.Context, in *MsgProviderDelete, o return out, nil } +func (c *msgClient) ReactorInfuse(ctx context.Context, in *MsgReactorInfuse, opts ...grpc.CallOption) (*MsgReactorInfuseResponse, error) { + out := new(MsgReactorInfuseResponse) + err := c.cc.Invoke(ctx, Msg_ReactorInfuse_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ReactorDefuse(ctx context.Context, in *MsgReactorDefuse, opts ...grpc.CallOption) (*MsgReactorDefuseResponse, error) { + out := new(MsgReactorDefuseResponse) + err := c.cc.Invoke(ctx, Msg_ReactorDefuse_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ReactorBeginMigration(ctx context.Context, in *MsgReactorBeginMigration, opts ...grpc.CallOption) (*MsgReactorBeginMigrationResponse, error) { + out := new(MsgReactorBeginMigrationResponse) + err := c.cc.Invoke(ctx, Msg_ReactorBeginMigration_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ReactorCancelDefusion(ctx context.Context, in *MsgReactorCancelDefusion, opts ...grpc.CallOption) (*MsgReactorCancelDefusionResponse, error) { + out := new(MsgReactorCancelDefusionResponse) + err := c.cc.Invoke(ctx, Msg_ReactorCancelDefusion_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) StructActivate(ctx context.Context, in *MsgStructActivate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) { out := new(MsgStructStatusResponse) err := c.cc.Invoke(ctx, Msg_StructActivate_FullMethodName, in, out, opts...) @@ -922,6 +966,10 @@ type MsgServer interface { ProviderGuildGrant(context.Context, *MsgProviderGuildGrant) (*MsgProviderResponse, error) ProviderGuildRevoke(context.Context, *MsgProviderGuildRevoke) (*MsgProviderResponse, error) ProviderDelete(context.Context, *MsgProviderDelete) (*MsgProviderResponse, error) + ReactorInfuse(context.Context, *MsgReactorInfuse) (*MsgReactorInfuseResponse, error) + ReactorDefuse(context.Context, *MsgReactorDefuse) (*MsgReactorDefuseResponse, error) + ReactorBeginMigration(context.Context, *MsgReactorBeginMigration) (*MsgReactorBeginMigrationResponse, error) + ReactorCancelDefusion(context.Context, *MsgReactorCancelDefusion) (*MsgReactorCancelDefusionResponse, error) StructActivate(context.Context, *MsgStructActivate) (*MsgStructStatusResponse, error) StructDeactivate(context.Context, *MsgStructDeactivate) (*MsgStructStatusResponse, error) StructBuildInitiate(context.Context, *MsgStructBuildInitiate) (*MsgStructStatusResponse, error) @@ -1112,6 +1160,18 @@ func (UnimplementedMsgServer) ProviderGuildRevoke(context.Context, *MsgProviderG func (UnimplementedMsgServer) ProviderDelete(context.Context, *MsgProviderDelete) (*MsgProviderResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProviderDelete not implemented") } +func (UnimplementedMsgServer) ReactorInfuse(context.Context, *MsgReactorInfuse) (*MsgReactorInfuseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorInfuse not implemented") +} +func (UnimplementedMsgServer) ReactorDefuse(context.Context, *MsgReactorDefuse) (*MsgReactorDefuseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorDefuse not implemented") +} +func (UnimplementedMsgServer) ReactorBeginMigration(context.Context, *MsgReactorBeginMigration) (*MsgReactorBeginMigrationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorBeginMigration not implemented") +} +func (UnimplementedMsgServer) ReactorCancelDefusion(context.Context, *MsgReactorCancelDefusion) (*MsgReactorCancelDefusionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorCancelDefusion not implemented") +} func (UnimplementedMsgServer) StructActivate(context.Context, *MsgStructActivate) (*MsgStructStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StructActivate not implemented") } @@ -2160,6 +2220,78 @@ func _Msg_ProviderDelete_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_ReactorInfuse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorInfuse) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorInfuse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ReactorInfuse_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorInfuse(ctx, req.(*MsgReactorInfuse)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ReactorDefuse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorDefuse) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorDefuse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ReactorDefuse_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorDefuse(ctx, req.(*MsgReactorDefuse)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ReactorBeginMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorBeginMigration) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorBeginMigration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ReactorBeginMigration_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorBeginMigration(ctx, req.(*MsgReactorBeginMigration)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ReactorCancelDefusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorCancelDefusion) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorCancelDefusion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Msg_ReactorCancelDefusion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorCancelDefusion(ctx, req.(*MsgReactorCancelDefusion)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_StructActivate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgStructActivate) if err := dec(in); err != nil { @@ -2761,6 +2893,22 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "ProviderDelete", Handler: _Msg_ProviderDelete_Handler, }, + { + MethodName: "ReactorInfuse", + Handler: _Msg_ReactorInfuse_Handler, + }, + { + MethodName: "ReactorDefuse", + Handler: _Msg_ReactorDefuse_Handler, + }, + { + MethodName: "ReactorBeginMigration", + Handler: _Msg_ReactorBeginMigration_Handler, + }, + { + MethodName: "ReactorCancelDefusion", + Handler: _Msg_ReactorCancelDefusion_Handler, + }, { MethodName: "StructActivate", Handler: _Msg_StructActivate_Handler, diff --git a/docs/static/openapi.yml b/docs/static/openapi.yml index e51be4c..376cceb 100644 --- a/docs/static/openapi.yml +++ b/docs/static/openapi.yml @@ -1 +1 @@ -{"id":"structs","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain structs REST API","title":"HTTP API Console","contact":{"name":"structs"},"version":"version not set"},"paths":{"/blockheight":{"get":{"tags":["Query"],"operationId":"StructsQuery_GetBlockHeight","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryBlockHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AddressRegister":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AddressRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAddressRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAddressRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AddressRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AddressRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAddressRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAddressRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementCapacityDecrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementCapacityDecrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementCapacityDecrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementCapacityIncrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementCapacityIncrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementCapacityIncrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementClose":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementDurationIncrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementDurationIncrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementDurationIncrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementOpen":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationDeleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationTransfer":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationUpdate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationUpdate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationUpdate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/FleetMove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_FleetMove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgFleetMove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgFleetMoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankConfiscateAndBurn":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankConfiscateAndBurn","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankConfiscateAndBurn"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankConfiscateAndBurnResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankMint":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankMint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankMint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankMintResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankRedeem":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankRedeem","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankRedeem"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankRedeemResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInvite":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteApprove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteApprove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteApprove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteDeny":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteDeny","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteDeny"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipJoin":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipJoin","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipJoin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipJoinProxy":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipJoinProxy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipJoinProxy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipKick":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipKick","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipKick"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequest":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequest","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestApprove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestApprove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestApprove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestDeny":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestDeny","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestDeny"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateEndpoint":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateEndpoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateEndpoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateEntrySubstationId":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateEntrySubstationId","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateEntrySubstationId"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByInvite":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimumBypassByInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByRequest":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimumBypassByRequest","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateOwnerId":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateOwnerId","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateOwnerId"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionGrantOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionGrantOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionGrantOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionGrantOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionGrantOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionGrantOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionRevokeOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionRevokeOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionRevokeOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionRevokeOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionRevokeOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionRevokeOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionSetOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionSetOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionSetOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionSetOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionSetOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionSetOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlanetExplore":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlanetExplore","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlanetExplore"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlanetExploreResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlanetRaidComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlanetRaidComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlanetRaidComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlanetRaidCompleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlayerResume":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlayerResume","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlayerResume"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlayerResumeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlayerUpdatePrimaryAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlayerUpdatePrimaryAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlayerUpdatePrimaryAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlayerUpdatePrimaryAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderGuildGrant":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderGuildGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderGuildGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderGuildRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderGuildRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderGuildRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateAccessPolicy":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateAccessPolicy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateAccessPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateCapacityMaximum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateCapacityMaximum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateCapacityMaximum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateCapacityMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateCapacityMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateCapacityMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateDurationMaximum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateDurationMaximum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateDurationMaximum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateDurationMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateDurationMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateDurationMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderWithdrawBalance":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderWithdrawBalance","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderWithdrawBalance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructActivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructAttack":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructAttack","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructAttack"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructAttackResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildCancel":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildInitiate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildInitiate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildInitiate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDeactivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDeactivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDeactivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDefenseClear":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDefenseClear","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDefenseClear"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDefenseSet":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDefenseSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDefenseSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructGeneratorInfuse":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructGeneratorInfuse","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructGeneratorInfuse"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructGeneratorStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructMove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructMove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructMove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructOreMinerComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructOreMinerComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructOreMinerComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructOreMinerStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructOreRefineryComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructOreRefineryComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructOreRefineryComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructOreRefineryStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructStealthActivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructStealthActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructStealthActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructStealthDeactivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructStealthDeactivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructStealthDeactivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationAllocationConnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationAllocationConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationAllocationDisconnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationAllocationDisconnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationDisconnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationDisconnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationDeleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerConnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerDisconnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerDisconnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerDisconnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerDisconnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerMigrate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerMigrate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerMigrate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerMigrateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"StructsMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address":{"get":{"tags":["Query"],"operationId":"StructsQuery_AddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address/{address}":{"get":{"tags":["Query"],"summary":"Queries for Addresses.","operationId":"StructsQuery_Address","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address_by_player/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AddressAllByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement":{"get":{"tags":["Query"],"operationId":"StructsQuery_AgreementAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Agreement items.","operationId":"StructsQuery_Agreement","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement_by_provider/{providerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AgreementAllByProvider","parameters":[{"type":"string","name":"providerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Allocation items.","operationId":"StructsQuery_Allocation","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation_by_destination/{destinationId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAllByDestination","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation_by_source/{sourceId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAllBySource","parameters":[{"type":"string","name":"sourceId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet":{"get":{"tags":["Query"],"operationId":"StructsQuery_FleetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Fleet items.","operationId":"StructsQuery_Fleet","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet_by_index/{index}":{"get":{"tags":["Query"],"operationId":"StructsQuery_FleetByIndex","parameters":[{"type":"string","format":"uint64","name":"index","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/grid":{"get":{"tags":["Query"],"summary":"Queries a list of all Grid details","operationId":"StructsQuery_GridAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGridResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/grid/{attributeId}":{"get":{"tags":["Query"],"summary":"Queries a specific Grid details","operationId":"StructsQuery_Grid","parameters":[{"type":"string","name":"attributeId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGridResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Guild items.","operationId":"StructsQuery_Guild","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGuildResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_bank_collateral_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildBankCollateralAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildBankCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_bank_collateral_address/{guildId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildBankCollateralAddress","parameters":[{"type":"string","name":"guildId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildBankCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_membership_application":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildMembershipApplicationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildMembershipApplicationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_membership_application/{guildId}/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildMembershipApplication","parameters":[{"type":"string","name":"guildId","in":"path","required":true},{"type":"string","name":"playerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGuildMembershipApplicationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion":{"get":{"tags":["Query"],"operationId":"StructsQuery_InfusionAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion/{destinationId}/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of Infusions.","operationId":"StructsQuery_Infusion","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion_by_destination/{destinationId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_InfusionAllByDestination","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission":{"get":{"tags":["Query"],"summary":"Queries a list of all Permissions","operationId":"StructsQuery_PermissionAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/object/{objectId}":{"get":{"tags":["Query"],"summary":"Queries a list of Permissions based on Object","operationId":"StructsQuery_PermissionByObject","parameters":[{"type":"string","name":"objectId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/player/{playerId}":{"get":{"tags":["Query"],"summary":"Queries a list of Permissions based on the Player with the permissions","operationId":"StructsQuery_PermissionByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/{permissionId}":{"get":{"tags":["Query"],"summary":"Queries a specific Permission","operationId":"StructsQuery_Permission","parameters":[{"type":"string","name":"permissionId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Planet items.","operationId":"StructsQuery_Planet","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_attribute":{"get":{"tags":["Query"],"summary":"Queries a list of all Planet Attributes","operationId":"StructsQuery_PlanetAttributeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_attribute/{planetId}/{attributeType}":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAttribute","parameters":[{"type":"string","name":"planetId","in":"path","required":true},{"type":"string","name":"attributeType","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlanetAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_by_player/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAllByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlayerAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlayerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Player items.","operationId":"StructsQuery_Player","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlayerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player_halted":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlayerHaltedAll","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlayerHaltedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Allocation items.","operationId":"StructsQuery_Provider","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_collateral_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderCollateralAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_collateral_address/{providerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderCollateralAddress","parameters":[{"type":"string","name":"providerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_earnings_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderEarningsAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderEarningsAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_earnings_address/{providerId}":{"get":{"tags":["Query"],"summary":"TODO Requires a lookup table that I don't know if we care about\nrpc ProviderByCollateralAddress (QueryGetProviderByCollateralAddressRequest) returns (QueryGetProviderResponse) {\noption (google.api.http).get = \"/structs/provider_by_collateral_address/{address}\";\n}","operationId":"StructsQuery_ProviderEarningsAddress","parameters":[{"type":"string","name":"providerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderEarningsAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/reactor":{"get":{"tags":["Query"],"operationId":"StructsQuery_ReactorAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllReactorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/reactor/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Reactor items.","operationId":"StructsQuery_Reactor","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetReactorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Structs items.","operationId":"StructsQuery_Struct","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_attribute":{"get":{"tags":["Query"],"summary":"Queries a list of all Struct Attributes","operationId":"StructsQuery_StructAttributeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_attribute/{structId}/{attributeType}":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructAttribute","parameters":[{"type":"string","name":"structId","in":"path","required":true},{"type":"string","name":"attributeType","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_type":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructTypeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructTypeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_type/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Struct Types items.","operationId":"StructsQuery_StructType","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructTypeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/structs/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"StructsQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/substation":{"get":{"tags":["Query"],"operationId":"StructsQuery_SubstationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllSubstationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/substation/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Substation items.","operationId":"StructsQuery_Substation","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetSubstationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/validate_signature/{address}/{proofPubKey}/{proofSignature}/{message}":{"get":{"tags":["Query"],"operationId":"StructsQuery_ValidateSignature","parameters":[{"type":"string","name":"address","in":"path","required":true},{"type":"string","name":"proofPubKey","in":"path","required":true},{"type":"string","name":"proofSignature","in":"path","required":true},{"type":"string","name":"message","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryValidateSignatureResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"structs.structs.Agreement":{"type":"object","properties":{"allocationId":{"type":"string"},"capacity":{"type":"string","format":"uint64"},"creator":{"type":"string"},"endBlock":{"type":"string","format":"uint64"},"id":{"type":"string"},"owner":{"type":"string"},"providerId":{"type":"string"},"startBlock":{"type":"string","format":"uint64"}}},"structs.structs.Allocation":{"type":"object","properties":{"controller":{"type":"string"},"creator":{"type":"string","title":"Who does this currently belong to"},"destinationId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"locked":{"type":"boolean","title":"Locking will be needed for IBC"},"sourceObjectId":{"type":"string","title":"Core allocation details"},"type":{"$ref":"#/definitions/structs.structs.allocationType"}}},"structs.structs.Fleet":{"type":"object","properties":{"air":{"type":"array","items":{"type":"string"}},"airSlots":{"type":"string","format":"uint64"},"commandStruct":{"type":"string"},"id":{"type":"string"},"land":{"type":"array","items":{"type":"string"}},"landSlots":{"type":"string","format":"uint64"},"locationId":{"type":"string"},"locationListBackward":{"type":"string","title":"Towards End of List"},"locationListForward":{"type":"string","title":"Towards Planet"},"locationType":{"$ref":"#/definitions/structs.structs.objectType"},"owner":{"type":"string"},"space":{"type":"array","items":{"type":"string"}},"spaceSlots":{"type":"string","format":"uint64"},"status":{"$ref":"#/definitions/structs.structs.fleetStatus"},"water":{"type":"array","items":{"type":"string"}},"waterSlots":{"type":"string","format":"uint64"}}},"structs.structs.GridAttributes":{"type":"object","properties":{"allocationPointerEnd":{"type":"string","format":"uint64"},"allocationPointerStart":{"type":"string","format":"uint64"},"capacity":{"type":"string","format":"uint64"},"checkpointBlock":{"type":"string","format":"uint64"},"connectionCapacity":{"type":"string","format":"uint64"},"connectionCount":{"type":"string","format":"uint64"},"fuel":{"type":"string","format":"uint64"},"lastAction":{"type":"string","format":"uint64"},"load":{"type":"string","format":"uint64"},"nonce":{"type":"string","format":"uint64"},"ore":{"type":"string","format":"uint64"},"power":{"type":"string","format":"uint64"},"proxyNonce":{"type":"string","format":"uint64"},"ready":{"type":"string","format":"uint64"},"structsLoad":{"type":"string","format":"uint64"}}},"structs.structs.GridRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.Guild":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"entrySubstationId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"joinInfusionMinimum":{"type":"string","format":"uint64"},"joinInfusionMinimumBypassByInvite":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"},"joinInfusionMinimumBypassByRequest":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"},"owner":{"type":"string"},"primaryReactorId":{"type":"string"}}},"structs.structs.GuildMembershipApplication":{"type":"object","properties":{"guildId":{"type":"string"},"joinType":{"title":"Invite | Request","$ref":"#/definitions/structs.structs.guildJoinType"},"playerId":{"type":"string"},"proposer":{"type":"string"},"registrationStatus":{"$ref":"#/definitions/structs.structs.registrationStatus"},"substationId":{"type":"string"}}},"structs.structs.Infusion":{"type":"object","properties":{"address":{"type":"string"},"commission":{"type":"string"},"defusing":{"type":"string"},"destinationId":{"type":"string"},"destinationType":{"$ref":"#/definitions/structs.structs.objectType"},"fuel":{"type":"string","format":"uint64"},"playerId":{"type":"string"},"power":{"type":"string","format":"uint64"},"ratio":{"type":"string","format":"uint64"}}},"structs.structs.InternalAddressAssociation":{"type":"object","properties":{"address":{"type":"string"},"objectId":{"type":"string"}}},"structs.structs.MsgAddressRegister":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"},"proofPubKey":{"type":"string"},"proofSignature":{"type":"string"}}},"structs.structs.MsgAddressRegisterResponse":{"type":"object"},"structs.structs.MsgAddressRevoke":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAddressRevokeResponse":{"type":"object"},"structs.structs.MsgAgreementCapacityDecrease":{"type":"object","properties":{"agreementId":{"type":"string"},"capacityDecrease":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementCapacityIncrease":{"type":"object","properties":{"agreementId":{"type":"string"},"capacityIncrease":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementClose":{"type":"object","properties":{"agreementId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementDurationIncrease":{"type":"object","properties":{"agreementId":{"type":"string"},"creator":{"type":"string"},"durationIncrease":{"type":"string","format":"uint64"}}},"structs.structs.MsgAgreementOpen":{"type":"object","properties":{"capacity":{"type":"string","format":"uint64"},"creator":{"type":"string"},"duration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgAgreementResponse":{"type":"object"},"structs.structs.MsgAllocationCreate":{"type":"object","properties":{"allocationType":{"$ref":"#/definitions/structs.structs.allocationType"},"controller":{"type":"string"},"creator":{"type":"string"},"power":{"type":"string","format":"uint64"},"sourceObjectId":{"type":"string"}}},"structs.structs.MsgAllocationCreateResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationDelete":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAllocationDeleteResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationTransfer":{"type":"object","properties":{"allocationId":{"type":"string"},"controller":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAllocationTransferResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationUpdate":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"power":{"type":"string","format":"uint64"}}},"structs.structs.MsgAllocationUpdateResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgFleetMove":{"type":"object","properties":{"creator":{"type":"string"},"destinationLocationId":{"type":"string"},"fleetId":{"type":"string"}}},"structs.structs.MsgFleetMoveResponse":{"type":"object","properties":{"fleet":{"$ref":"#/definitions/structs.structs.Fleet"}}},"structs.structs.MsgGuildBankConfiscateAndBurn":{"type":"object","properties":{"address":{"type":"string"},"amountToken":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankConfiscateAndBurnResponse":{"type":"object"},"structs.structs.MsgGuildBankMint":{"type":"object","properties":{"amountAlpha":{"type":"string","format":"uint64"},"amountToken":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankMintResponse":{"type":"object"},"structs.structs.MsgGuildBankRedeem":{"type":"object","properties":{"amountToken":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankRedeemResponse":{"type":"object"},"structs.structs.MsgGuildCreate":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"entrySubstationId":{"type":"string"}}},"structs.structs.MsgGuildCreateResponse":{"type":"object","properties":{"guildId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInvite":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteApprove":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteDeny":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipJoin":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"infusionId":{"type":"array","items":{"type":"string"}},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipJoinProxy":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"proofPubKey":{"type":"string"},"proofSignature":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipKick":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequest":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestApprove":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestDeny":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipResponse":{"type":"object","properties":{"guildMembershipApplication":{"$ref":"#/definitions/structs.structs.GuildMembershipApplication"}}},"structs.structs.MsgGuildUpdateEndpoint":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"guildId":{"type":"string"}}},"structs.structs.MsgGuildUpdateEntrySubstationId":{"type":"object","properties":{"creator":{"type":"string"},"entrySubstationId":{"type":"string"},"guildId":{"type":"string"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimum":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"joinInfusionMinimum":{"type":"string","format":"uint64"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"guildJoinBypassLevel":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"guildJoinBypassLevel":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"}}},"structs.structs.MsgGuildUpdateOwnerId":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.MsgGuildUpdateResponse":{"type":"object"},"structs.structs.MsgPermissionGrantOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionGrantOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPermissionResponse":{"type":"object"},"structs.structs.MsgPermissionRevokeOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionRevokeOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPermissionSetOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionSetOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPlanetExplore":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgPlanetExploreResponse":{"type":"object","properties":{"planet":{"$ref":"#/definitions/structs.structs.Planet"}}},"structs.structs.MsgPlanetRaidComplete":{"type":"object","properties":{"creator":{"type":"string"},"fleetId":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"}}},"structs.structs.MsgPlanetRaidCompleteResponse":{"type":"object","properties":{"fleet":{"$ref":"#/definitions/structs.structs.Fleet"},"oreStolen":{"type":"string","format":"uint64"},"planet":{"$ref":"#/definitions/structs.structs.Planet"}}},"structs.structs.MsgPlayerResume":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgPlayerResumeResponse":{"type":"object"},"structs.structs.MsgPlayerUpdatePrimaryAddress":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"},"primaryAddress":{"type":"string"}}},"structs.structs.MsgPlayerUpdatePrimaryAddressResponse":{"type":"object"},"structs.structs.MsgProviderCreate":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"capacityMaximum":{"type":"string","format":"uint64"},"capacityMinimum":{"type":"string","format":"uint64"},"consumerCancellationPenalty":{"type":"string"},"creator":{"type":"string"},"durationMaximum":{"type":"string","format":"uint64"},"durationMinimum":{"type":"string","format":"uint64"},"providerCancellationPenalty":{"type":"string"},"rate":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"substationId":{"type":"string"}}},"structs.structs.MsgProviderDelete":{"type":"object","properties":{"creator":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderGuildGrant":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"array","items":{"type":"string"}},"providerId":{"type":"string"}}},"structs.structs.MsgProviderGuildRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"array","items":{"type":"string"}},"providerId":{"type":"string"}}},"structs.structs.MsgProviderResponse":{"type":"object"},"structs.structs.MsgProviderUpdateAccessPolicy":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"creator":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateCapacityMaximum":{"type":"object","properties":{"creator":{"type":"string"},"newMaximumCapacity":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateCapacityMinimum":{"type":"object","properties":{"creator":{"type":"string"},"newMinimumCapacity":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateDurationMaximum":{"type":"object","properties":{"creator":{"type":"string"},"newMaximumDuration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateDurationMinimum":{"type":"object","properties":{"creator":{"type":"string"},"newMinimumDuration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderWithdrawBalance":{"type":"object","properties":{"creator":{"type":"string"},"destinationAddress":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgStructActivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructAttack":{"type":"object","properties":{"creator":{"type":"string"},"operatingStructId":{"type":"string"},"targetStructId":{"type":"array","items":{"type":"string"}},"weaponSystem":{"type":"string"}}},"structs.structs.MsgStructAttackResponse":{"type":"object"},"structs.structs.MsgStructBuildCancel":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructBuildComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructBuildInitiate":{"type":"object","properties":{"creator":{"type":"string"},"operatingAmbit":{"title":"objectType locationType = 4;","$ref":"#/definitions/structs.structs.ambit"},"playerId":{"type":"string"},"slot":{"type":"string","format":"uint64"},"structTypeId":{"type":"string","format":"uint64"}}},"structs.structs.MsgStructDeactivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructDefenseClear":{"type":"object","properties":{"creator":{"type":"string"},"defenderStructId":{"type":"string"}}},"structs.structs.MsgStructDefenseSet":{"type":"object","properties":{"creator":{"type":"string"},"defenderStructId":{"type":"string"},"protectedStructId":{"type":"string"}}},"structs.structs.MsgStructGeneratorInfuse":{"type":"object","properties":{"creator":{"type":"string"},"infuseAmount":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructGeneratorStatusResponse":{"type":"object"},"structs.structs.MsgStructMove":{"type":"object","properties":{"ambit":{"$ref":"#/definitions/structs.structs.ambit"},"creator":{"type":"string"},"locationType":{"$ref":"#/definitions/structs.structs.objectType"},"slot":{"type":"string","format":"uint64"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreMinerComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreMinerStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructOreRefineryComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreRefineryStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructStealthActivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructStealthDeactivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgSubstationAllocationConnect":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"destinationId":{"type":"string"}}},"structs.structs.MsgSubstationAllocationConnectResponse":{"type":"object"},"structs.structs.MsgSubstationAllocationDisconnect":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgSubstationAllocationDisconnectResponse":{"type":"object"},"structs.structs.MsgSubstationCreate":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.MsgSubstationCreateResponse":{"type":"object","properties":{"substationId":{"type":"string"}}},"structs.structs.MsgSubstationDelete":{"type":"object","properties":{"creator":{"type":"string"},"migrationSubstationId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationDeleteResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerConnect":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerConnectResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerDisconnect":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerDisconnectResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerMigrate":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"array","items":{"type":"string"}},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerMigrateResponse":{"type":"object"},"structs.structs.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/structs.structs.Params"}}},"structs.structs.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"structs.structs.Params":{"description":"Params defines the parameters for the module.","type":"object"},"structs.structs.PermissionRecord":{"type":"object","properties":{"permissionId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.Planet":{"type":"object","properties":{"air":{"type":"array","items":{"type":"string"}},"airSlots":{"type":"string","format":"uint64"},"creator":{"type":"string"},"id":{"type":"string"},"land":{"type":"array","items":{"type":"string"}},"landSlots":{"type":"string","format":"uint64"},"locationListLast":{"type":"string","title":"End of the line"},"locationListStart":{"type":"string","title":"First in line to battle planet"},"maxOre":{"type":"string","format":"uint64"},"owner":{"type":"string"},"space":{"type":"array","items":{"type":"string"}},"spaceSlots":{"type":"string","format":"uint64"},"status":{"$ref":"#/definitions/structs.structs.planetStatus"},"water":{"type":"array","items":{"type":"string"}},"waterSlots":{"type":"string","format":"uint64"}}},"structs.structs.PlanetAttributeRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.PlanetAttributes":{"type":"object","properties":{"advancedLowOrbitBallisticsInterceptorNetworkQuantity":{"type":"string","format":"uint64"},"advancedOrbitalJammingStationQuantity":{"type":"string","format":"uint64"},"blockStartRaid":{"type":"string","format":"uint64"},"coordinatedGlobalShieldNetworkQuantity":{"type":"string","format":"uint64"},"defensiveCannonQuantity":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkQuantity":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkSuccessRateDenominator":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkSuccessRateNumerator":{"type":"string","format":"uint64"},"orbitalJammingStationQuantity":{"type":"string","format":"uint64"},"planetaryShield":{"type":"string","format":"uint64"},"repairNetworkQuantity":{"type":"string","format":"uint64"}}},"structs.structs.Player":{"type":"object","properties":{"creator":{"type":"string"},"fleetId":{"type":"string"},"guildId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"planetId":{"type":"string"},"primaryAddress":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.PlayerInventory":{"type":"object","properties":{"rocks":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"structs.structs.Provider":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"capacityMaximum":{"type":"string","format":"uint64"},"capacityMinimum":{"type":"string","format":"uint64"},"consumerCancellationPenalty":{"type":"string"},"creator":{"type":"string"},"durationMaximum":{"type":"string","format":"uint64"},"durationMinimum":{"type":"string","format":"uint64"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"owner":{"type":"string"},"providerCancellationPenalty":{"type":"string"},"rate":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"substationId":{"type":"string"}}},"structs.structs.QueryAddressResponse":{"type":"object","properties":{"address":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.QueryAllAddressResponse":{"type":"object","properties":{"address":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.QueryAddressResponse"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllAgreementResponse":{"type":"object","properties":{"Agreement":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Agreement"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllAllocationResponse":{"type":"object","properties":{"Allocation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Allocation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"status":{"type":"array","items":{"type":"string","format":"uint64"}}}},"structs.structs.QueryAllFleetResponse":{"type":"object","properties":{"Fleet":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Fleet"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGridResponse":{"type":"object","properties":{"gridRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.GridRecord"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildBankCollateralAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildMembershipApplicationResponse":{"type":"object","properties":{"GuildMembershipApplication":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.GuildMembershipApplication"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildResponse":{"type":"object","properties":{"Guild":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Guild"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllInfusionResponse":{"type":"object","properties":{"Infusion":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Infusion"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"status":{"type":"array","items":{"type":"string","format":"uint64"}}}},"structs.structs.QueryAllPermissionResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"permissionRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.PermissionRecord"}}}},"structs.structs.QueryAllPlanetAttributeResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"planetAttributeRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.PlanetAttributeRecord"}}}},"structs.structs.QueryAllPlanetResponse":{"type":"object","properties":{"Planet":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Planet"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllPlayerHaltedResponse":{"type":"object","properties":{"PlayerId":{"type":"array","items":{"type":"string"}}}},"structs.structs.QueryAllPlayerResponse":{"type":"object","properties":{"Player":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Player"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderCollateralAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderEarningsAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderResponse":{"type":"object","properties":{"Provider":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Provider"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllReactorResponse":{"type":"object","properties":{"Reactor":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Reactor"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllStructAttributeResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"structAttributeRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.StructAttributeRecord"}}}},"structs.structs.QueryAllStructResponse":{"type":"object","properties":{"Struct":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Struct"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllStructTypeResponse":{"type":"object","properties":{"StructType":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.StructType"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllSubstationResponse":{"type":"object","properties":{"Substation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Substation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryBlockHeightResponse":{"type":"object","properties":{"blockHeight":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetAgreementResponse":{"type":"object","properties":{"Agreement":{"$ref":"#/definitions/structs.structs.Agreement"}}},"structs.structs.QueryGetAllocationResponse":{"type":"object","properties":{"Allocation":{"$ref":"#/definitions/structs.structs.Allocation"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetFleetResponse":{"type":"object","properties":{"Fleet":{"$ref":"#/definitions/structs.structs.Fleet"}}},"structs.structs.QueryGetGridResponse":{"type":"object","title":"Generic Responses for Permissions","properties":{"gridRecord":{"$ref":"#/definitions/structs.structs.GridRecord"}}},"structs.structs.QueryGetGuildMembershipApplicationResponse":{"type":"object","properties":{"GuildMembershipApplication":{"$ref":"#/definitions/structs.structs.GuildMembershipApplication"}}},"structs.structs.QueryGetGuildResponse":{"type":"object","properties":{"Guild":{"$ref":"#/definitions/structs.structs.Guild"}}},"structs.structs.QueryGetInfusionResponse":{"type":"object","properties":{"Infusion":{"$ref":"#/definitions/structs.structs.Infusion"}}},"structs.structs.QueryGetPermissionResponse":{"type":"object","title":"Generic Responses for Permissions","properties":{"permissionRecord":{"$ref":"#/definitions/structs.structs.PermissionRecord"}}},"structs.structs.QueryGetPlanetAttributeResponse":{"type":"object","properties":{"attribute":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetPlanetResponse":{"type":"object","properties":{"Planet":{"$ref":"#/definitions/structs.structs.Planet"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"planetAttributes":{"$ref":"#/definitions/structs.structs.PlanetAttributes"}}},"structs.structs.QueryGetPlayerResponse":{"type":"object","properties":{"Player":{"$ref":"#/definitions/structs.structs.Player"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"halted":{"type":"boolean"},"playerInventory":{"$ref":"#/definitions/structs.structs.PlayerInventory"}}},"structs.structs.QueryGetProviderResponse":{"type":"object","properties":{"Provider":{"$ref":"#/definitions/structs.structs.Provider"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetReactorResponse":{"type":"object","properties":{"Reactor":{"$ref":"#/definitions/structs.structs.Reactor"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetStructAttributeResponse":{"type":"object","properties":{"attribute":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetStructResponse":{"type":"object","properties":{"Struct":{"$ref":"#/definitions/structs.structs.Struct"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"structAttributes":{"$ref":"#/definitions/structs.structs.StructAttributes"},"structDefenders":{"type":"array","items":{"type":"string"}}}},"structs.structs.QueryGetStructTypeResponse":{"type":"object","properties":{"StructType":{"$ref":"#/definitions/structs.structs.StructType"}}},"structs.structs.QueryGetSubstationResponse":{"type":"object","properties":{"Substation":{"$ref":"#/definitions/structs.structs.Substation"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/structs.structs.Params"}}},"structs.structs.QueryValidateSignatureResponse":{"type":"object","properties":{"addressPubkeyMismatch":{"type":"boolean"},"pubkeyFormatError":{"type":"boolean"},"signatureFormatError":{"type":"boolean"},"signatureInvalid":{"type":"boolean"},"valid":{"type":"boolean"}}},"structs.structs.Reactor":{"type":"object","properties":{"defaultCommission":{"type":"string"},"guildId":{"type":"string"},"id":{"type":"string"},"rawAddress":{"type":"string","format":"byte"},"validator":{"type":"string"}}},"structs.structs.Struct":{"type":"object","properties":{"creator":{"type":"string","title":"Who is it"},"id":{"type":"string","title":"What it is"},"index":{"type":"string","format":"uint64"},"locationId":{"type":"string"},"locationType":{"title":"Where it is","$ref":"#/definitions/structs.structs.objectType"},"operatingAmbit":{"$ref":"#/definitions/structs.structs.ambit"},"owner":{"type":"string"},"slot":{"type":"string","format":"uint64"},"type":{"type":"string","format":"uint64"}}},"structs.structs.StructAttributeRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.StructAttributes":{"type":"object","properties":{"blockStartBuild":{"type":"string","format":"uint64"},"blockStartOreMine":{"type":"string","format":"uint64"},"blockStartOreRefine":{"type":"string","format":"uint64"},"health":{"type":"string","format":"uint64"},"isBuilt":{"type":"boolean"},"isDestroyed":{"type":"boolean"},"isHidden":{"type":"boolean"},"isLocked":{"type":"boolean"},"isMaterialized":{"type":"boolean"},"isOnline":{"type":"boolean"},"protectedStructIndex":{"type":"string","format":"uint64"},"status":{"type":"string","format":"uint64"},"typeCount":{"type":"string","format":"uint64"}}},"structs.structs.StructType":{"type":"object","properties":{"activateCharge":{"type":"string","format":"uint64","title":"Charge uses"},"attackCounterable":{"type":"boolean","title":"For Indirect Combat Module"},"attackReduction":{"description":"For Defensive Cannon","type":"string","format":"uint64","title":"Tech Tree Attributes"},"buildCharge":{"type":"string","format":"uint64"},"buildDifficulty":{"type":"string","format":"uint64","title":"How much compute is needed to build"},"buildDraw":{"type":"string","format":"uint64","title":"How much energy the Struct consumes during building"},"buildLimit":{"type":"string","format":"uint64","title":"How many of this Struct Type a player can have"},"category":{"description":"Planet or Fleet","title":"Fundamental attributes","$ref":"#/definitions/structs.structs.objectType"},"class":{"type":"string","title":"New Struct Type Identity Details"},"classAbbreviation":{"type":"string"},"counterAttack":{"type":"string","format":"uint64","title":"Counter"},"counterAttackSameAmbit":{"type":"string","format":"uint64","title":"Advanced Counter"},"defaultCosmeticModelNumber":{"type":"string"},"defaultCosmeticName":{"type":"string"},"defendChangeCharge":{"type":"string","format":"uint64"},"generatingRate":{"type":"string","format":"uint64","title":"Power Generation"},"guidedDefensiveSuccessRateDenominator":{"type":"string","format":"uint64"},"guidedDefensiveSuccessRateNumerator":{"type":"string","format":"uint64"},"id":{"type":"string","format":"uint64"},"maxHealth":{"type":"string","format":"uint64","title":"How much damage can it take"},"movable":{"type":"boolean","title":"Can the Struct change ambit?"},"moveCharge":{"type":"string","format":"uint64"},"oreMiningCharge":{"type":"string","format":"uint64"},"oreMiningDifficulty":{"type":"string","format":"uint64"},"oreRefiningCharge":{"type":"string","format":"uint64"},"oreRefiningDifficulty":{"type":"string","format":"uint64"},"oreReserveDefenses":{"$ref":"#/definitions/structs.structs.techOreReserveDefenses"},"passiveDraw":{"type":"string","format":"uint64","title":"How much energy the Struct consumes when active"},"passiveWeaponry":{"title":"Tech Tree Features","$ref":"#/definitions/structs.structs.techPassiveWeaponry"},"planetaryDefenses":{"$ref":"#/definitions/structs.structs.techPlanetaryDefenses"},"planetaryMining":{"$ref":"#/definitions/structs.structs.techPlanetaryMining"},"planetaryRefinery":{"$ref":"#/definitions/structs.structs.techPlanetaryRefineries"},"planetaryShieldContribution":{"type":"string","format":"uint64","title":"The shield that is added to the Planet"},"possibleAmbit":{"description":"Where can it be built and moved to. Usually only a single ambit but some Structs have multiple possible (i.e. Command Ship)","type":"string","format":"uint64","title":"Details about location and movement\nTODO move category to here and make it flag based too\nReplicate what was done for ambits flags"},"postDestructionDamage":{"type":"string","format":"uint64"},"powerGeneration":{"$ref":"#/definitions/structs.structs.techPowerGeneration"},"primaryWeapon":{"title":"Primary Weapon Configuration","$ref":"#/definitions/structs.structs.techActiveWeaponry"},"primaryWeaponAmbits":{"type":"string","format":"uint64"},"primaryWeaponBlockable":{"type":"boolean"},"primaryWeaponCharge":{"type":"string","format":"uint64"},"primaryWeaponControl":{"$ref":"#/definitions/structs.structs.techWeaponControl"},"primaryWeaponCounterable":{"type":"boolean"},"primaryWeaponDamage":{"type":"string","format":"uint64"},"primaryWeaponRecoilDamage":{"type":"string","format":"uint64"},"primaryWeaponShotSuccessRateDenominator":{"type":"string","format":"uint64"},"primaryWeaponShotSuccessRateNumerator":{"type":"string","format":"uint64"},"primaryWeaponShots":{"type":"string","format":"uint64"},"primaryWeaponTargets":{"type":"string","format":"uint64"},"secondaryWeapon":{"title":"Secondary Weapon Configuration","$ref":"#/definitions/structs.structs.techActiveWeaponry"},"secondaryWeaponAmbits":{"type":"string","format":"uint64"},"secondaryWeaponBlockable":{"type":"boolean"},"secondaryWeaponCharge":{"type":"string","format":"uint64"},"secondaryWeaponControl":{"$ref":"#/definitions/structs.structs.techWeaponControl"},"secondaryWeaponCounterable":{"type":"boolean"},"secondaryWeaponDamage":{"type":"string","format":"uint64"},"secondaryWeaponRecoilDamage":{"type":"string","format":"uint64"},"secondaryWeaponShotSuccessRateDenominator":{"type":"string","format":"uint64"},"secondaryWeaponShotSuccessRateNumerator":{"type":"string","format":"uint64"},"secondaryWeaponShots":{"type":"string","format":"uint64"},"secondaryWeaponTargets":{"type":"string","format":"uint64"},"slotBound":{"type":"boolean","title":"Does the Struct occupy a slot. Trying to find something to help set Command Ships apart"},"stealthActivateCharge":{"type":"string","format":"uint64"},"stealthSystems":{"type":"boolean","title":"For Stealth Mode"},"triggerRaidDefeatByDestruction":{"description":"I wish this was higher up in a different area of the definition\nbut I really don't feel like renumbering this entire thing again.","type":"boolean"},"type":{"description":"TODO Deprecating... Will match with Class for now.","type":"string"},"unguidedDefensiveSuccessRateDenominator":{"type":"string","format":"uint64"},"unguidedDefensiveSuccessRateNumerator":{"type":"string","format":"uint64"},"unitDefenses":{"$ref":"#/definitions/structs.structs.techUnitDefenses"}}},"structs.structs.Substation":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.allocationType":{"type":"string","default":"static","enum":["static","dynamic","automated","providerAgreement"]},"structs.structs.ambit":{"type":"string","default":"none","enum":["none","water","land","air","space","local"]},"structs.structs.fleetStatus":{"type":"string","default":"onStation","enum":["onStation","away"]},"structs.structs.guildJoinBypassLevel":{"type":"string","title":"- closed: Feature off\n - permissioned: Only those with permissions can do it\n - member: All members of the guild can contribute","default":"closed","enum":["closed","permissioned","member"]},"structs.structs.guildJoinType":{"type":"string","default":"invite","enum":["invite","request","direct","proxy"]},"structs.structs.objectType":{"type":"string","default":"guild","enum":["guild","player","planet","reactor","substation","struct","allocation","infusion","address","fleet","provider","agreement"]},"structs.structs.planetStatus":{"type":"string","default":"active","enum":["active","complete"]},"structs.structs.providerAccessPolicy":{"type":"string","default":"openMarket","enum":["openMarket","guildMarket","closedMarket"]},"structs.structs.registrationStatus":{"type":"string","default":"proposed","enum":["proposed","approved","denied","revoked"]},"structs.structs.techActiveWeaponry":{"type":"string","default":"noActiveWeaponry","enum":["noActiveWeaponry","guidedWeaponry","unguidedWeaponry","attackRun","selfDestruct"]},"structs.structs.techOreReserveDefenses":{"type":"string","default":"noOreReserveDefenses","enum":["noOreReserveDefenses","coordinatedReserveResponseTracker","rapidResponsePackage","activeScanning","monitoringStation","oreBunker"]},"structs.structs.techPassiveWeaponry":{"type":"string","default":"noPassiveWeaponry","enum":["noPassiveWeaponry","counterAttack","strongCounterAttack","advancedCounterAttack","lastResort"]},"structs.structs.techPlanetaryDefenses":{"type":"string","title":"- lowOrbitBallisticInterceptorNetwork: advancedLowOrbitBallisticInterceptorNetwork = 3;\nrepairNetwork = 4;\ncoordinatedGlobalShieldNetwork = 5;\norbitalJammingStation = 6;\nadvancedOrbitalJammingStation = 7;","default":"noPlanetaryDefense","enum":["noPlanetaryDefense","defensiveCannon","lowOrbitBallisticInterceptorNetwork"]},"structs.structs.techPlanetaryMining":{"type":"string","default":"noPlanetaryMining","enum":["noPlanetaryMining","oreMiningRig"]},"structs.structs.techPlanetaryRefineries":{"type":"string","default":"noPlanetaryRefinery","enum":["noPlanetaryRefinery","oreRefinery"]},"structs.structs.techPowerGeneration":{"type":"string","default":"noPowerGeneration","enum":["noPowerGeneration","smallGenerator","mediumGenerator","largeGenerator"]},"structs.structs.techUnitDefenses":{"type":"string","default":"noUnitDefenses","enum":["noUnitDefenses","defensiveManeuver","signalJamming","armour","indirectCombatModule","stealthMode","perimeterFencing","reinforcedWalls"]},"structs.structs.techWeaponControl":{"type":"string","default":"noWeaponControl","enum":["noWeaponControl","guided","unguided"]}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file +{"id":"structs","consumes":["application/json"],"produces":["application/json"],"swagger":"2.0","info":{"description":"Chain structs REST API","title":"HTTP API Console","contact":{"name":"structs"},"version":"version not set"},"paths":{"/blockheight":{"get":{"tags":["Query"],"operationId":"StructsQuery_GetBlockHeight","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryBlockHeightResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AddressRegister":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AddressRegister","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAddressRegister"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAddressRegisterResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AddressRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AddressRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAddressRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAddressRevokeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementCapacityDecrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementCapacityDecrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementCapacityDecrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementCapacityIncrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementCapacityIncrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementCapacityIncrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementClose":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementClose","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementClose"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementDurationIncrease":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementDurationIncrease","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementDurationIncrease"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AgreementOpen":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AgreementOpen","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAgreementOpen"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationDeleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationTransfer":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationTransfer","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationTransfer"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationTransferResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/AllocationUpdate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_AllocationUpdate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgAllocationUpdate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgAllocationUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/FleetMove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_FleetMove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgFleetMove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgFleetMoveResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankConfiscateAndBurn":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankConfiscateAndBurn","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankConfiscateAndBurn"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankConfiscateAndBurnResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankMint":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankMint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankMint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankMintResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildBankRedeem":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildBankRedeem","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankRedeem"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildBankRedeemResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInvite":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteApprove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteApprove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteApprove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteDeny":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteDeny","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteDeny"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipInviteRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipInviteRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipInviteRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipJoin":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipJoin","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipJoin"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipJoinProxy":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipJoinProxy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipJoinProxy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipKick":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipKick","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipKick"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequest":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequest","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestApprove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestApprove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestApprove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestDeny":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestDeny","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestDeny"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildMembershipRequestRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildMembershipRequestRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipRequestRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildMembershipResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateEndpoint":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateEndpoint","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateEndpoint"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateEntrySubstationId":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateEntrySubstationId","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateEntrySubstationId"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByInvite":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimumBypassByInvite","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateJoinInfusionMinimumBypassByRequest":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateJoinInfusionMinimumBypassByRequest","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/GuildUpdateOwnerId":{"post":{"tags":["Msg"],"operationId":"StructsMsg_GuildUpdateOwnerId","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateOwnerId"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgGuildUpdateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionGrantOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionGrantOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionGrantOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionGrantOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionGrantOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionGrantOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionRevokeOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionRevokeOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionRevokeOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionRevokeOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionRevokeOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionRevokeOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionSetOnAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionSetOnAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionSetOnAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PermissionSetOnObject":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PermissionSetOnObject","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPermissionSetOnObject"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlanetExplore":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlanetExplore","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlanetExplore"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlanetExploreResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlanetRaidComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlanetRaidComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlanetRaidComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlanetRaidCompleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlayerResume":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlayerResume","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlayerResume"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlayerResumeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/PlayerUpdatePrimaryAddress":{"post":{"tags":["Msg"],"operationId":"StructsMsg_PlayerUpdatePrimaryAddress","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgPlayerUpdatePrimaryAddress"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgPlayerUpdatePrimaryAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderGuildGrant":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderGuildGrant","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderGuildGrant"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderGuildRevoke":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderGuildRevoke","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderGuildRevoke"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateAccessPolicy":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateAccessPolicy","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateAccessPolicy"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateCapacityMaximum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateCapacityMaximum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateCapacityMaximum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateCapacityMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateCapacityMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateCapacityMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateDurationMaximum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateDurationMaximum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateDurationMaximum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderUpdateDurationMinimum":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderUpdateDurationMinimum","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderUpdateDurationMinimum"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ProviderWithdrawBalance":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ProviderWithdrawBalance","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgProviderWithdrawBalance"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ReactorBeginMigration":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ReactorBeginMigration","parameters":[{"description":"MsgReactorBeginMigration defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgReactorBeginMigration"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgReactorBeginMigrationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ReactorCancelDefusion":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ReactorCancelDefusion","parameters":[{"description":"Since: cosmos-sdk 0.46","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgReactorCancelDefusion"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgReactorCancelDefusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ReactorDefuse":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ReactorDefuse","parameters":[{"description":"MsgReactorDefuse defines a SDK message for performing an undelegation from a\ndelegate and a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgReactorDefuse"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgReactorDefuseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/ReactorInfuse":{"post":{"tags":["Msg"],"operationId":"StructsMsg_ReactorInfuse","parameters":[{"description":"MsgReactorInfuse defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgReactorInfuse"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgReactorInfuseResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructActivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructAttack":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructAttack","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructAttack"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructAttackResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildCancel":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildCancel","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildCancel"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructBuildInitiate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructBuildInitiate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructBuildInitiate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDeactivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDeactivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDeactivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDefenseClear":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDefenseClear","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDefenseClear"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructDefenseSet":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructDefenseSet","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructDefenseSet"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructGeneratorInfuse":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructGeneratorInfuse","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructGeneratorInfuse"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructGeneratorStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructMove":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructMove","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructMove"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructOreMinerComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructOreMinerComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructOreMinerComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructOreMinerStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructOreRefineryComplete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructOreRefineryComplete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructOreRefineryComplete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructOreRefineryStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructStealthActivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructStealthActivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructStealthActivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/StructStealthDeactivate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_StructStealthDeactivate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgStructStealthDeactivate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgStructStatusResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationAllocationConnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationAllocationConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationAllocationDisconnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationAllocationDisconnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationDisconnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationAllocationDisconnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationCreate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationCreate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationCreate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationCreateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationDelete":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationDelete","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationDelete"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationDeleteResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerConnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerConnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerConnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerConnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerDisconnect":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerDisconnect","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerDisconnect"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerDisconnectResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/SubstationPlayerMigrate":{"post":{"tags":["Msg"],"operationId":"StructsMsg_SubstationPlayerMigrate","parameters":[{"name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerMigrate"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgSubstationPlayerMigrateResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs.structs.Msg/UpdateParams":{"post":{"tags":["Msg"],"summary":"UpdateParams defines a (governance) operation for updating the module\nparameters. The authority defaults to the x/gov module account.","operationId":"StructsMsg_UpdateParams","parameters":[{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","name":"body","in":"body","required":true,"schema":{"$ref":"#/definitions/structs.structs.MsgUpdateParams"}}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.MsgUpdateParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address":{"get":{"tags":["Query"],"operationId":"StructsQuery_AddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address/{address}":{"get":{"tags":["Query"],"summary":"Queries for Addresses.","operationId":"StructsQuery_Address","parameters":[{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/address_by_player/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AddressAllByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement":{"get":{"tags":["Query"],"operationId":"StructsQuery_AgreementAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Agreement items.","operationId":"StructsQuery_Agreement","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/agreement_by_provider/{providerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AgreementAllByProvider","parameters":[{"type":"string","name":"providerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAgreementResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Allocation items.","operationId":"StructsQuery_Allocation","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation_by_destination/{destinationId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAllByDestination","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/allocation_by_source/{sourceId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_AllocationAllBySource","parameters":[{"type":"string","name":"sourceId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllAllocationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet":{"get":{"tags":["Query"],"operationId":"StructsQuery_FleetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Fleet items.","operationId":"StructsQuery_Fleet","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/fleet_by_index/{index}":{"get":{"tags":["Query"],"operationId":"StructsQuery_FleetByIndex","parameters":[{"type":"string","format":"uint64","name":"index","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetFleetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/grid":{"get":{"tags":["Query"],"summary":"Queries a list of all Grid details","operationId":"StructsQuery_GridAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGridResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/grid/{attributeId}":{"get":{"tags":["Query"],"summary":"Queries a specific Grid details","operationId":"StructsQuery_Grid","parameters":[{"type":"string","name":"attributeId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGridResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Guild items.","operationId":"StructsQuery_Guild","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGuildResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_bank_collateral_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildBankCollateralAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildBankCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_bank_collateral_address/{guildId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildBankCollateralAddress","parameters":[{"type":"string","name":"guildId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildBankCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_membership_application":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildMembershipApplicationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllGuildMembershipApplicationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/guild_membership_application/{guildId}/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_GuildMembershipApplication","parameters":[{"type":"string","name":"guildId","in":"path","required":true},{"type":"string","name":"playerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetGuildMembershipApplicationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion":{"get":{"tags":["Query"],"operationId":"StructsQuery_InfusionAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion/{destinationId}/{address}":{"get":{"tags":["Query"],"summary":"Queries a list of Infusions.","operationId":"StructsQuery_Infusion","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","name":"address","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/infusion_by_destination/{destinationId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_InfusionAllByDestination","parameters":[{"type":"string","name":"destinationId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllInfusionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission":{"get":{"tags":["Query"],"summary":"Queries a list of all Permissions","operationId":"StructsQuery_PermissionAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/object/{objectId}":{"get":{"tags":["Query"],"summary":"Queries a list of Permissions based on Object","operationId":"StructsQuery_PermissionByObject","parameters":[{"type":"string","name":"objectId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/player/{playerId}":{"get":{"tags":["Query"],"summary":"Queries a list of Permissions based on the Player with the permissions","operationId":"StructsQuery_PermissionByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/permission/{permissionId}":{"get":{"tags":["Query"],"summary":"Queries a specific Permission","operationId":"StructsQuery_Permission","parameters":[{"type":"string","name":"permissionId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPermissionResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Planet items.","operationId":"StructsQuery_Planet","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_attribute":{"get":{"tags":["Query"],"summary":"Queries a list of all Planet Attributes","operationId":"StructsQuery_PlanetAttributeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_attribute/{planetId}/{attributeType}":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAttribute","parameters":[{"type":"string","name":"planetId","in":"path","required":true},{"type":"string","name":"attributeType","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlanetAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/planet_by_player/{playerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlanetAllByPlayer","parameters":[{"type":"string","name":"playerId","in":"path","required":true},{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlanetResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlayerAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlayerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Player items.","operationId":"StructsQuery_Player","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetPlayerResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/player_halted":{"get":{"tags":["Query"],"operationId":"StructsQuery_PlayerHaltedAll","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllPlayerHaltedResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Allocation items.","operationId":"StructsQuery_Provider","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetProviderResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_collateral_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderCollateralAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_collateral_address/{providerId}":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderCollateralAddress","parameters":[{"type":"string","name":"providerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderCollateralAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_earnings_address":{"get":{"tags":["Query"],"operationId":"StructsQuery_ProviderEarningsAddressAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderEarningsAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/provider_earnings_address/{providerId}":{"get":{"tags":["Query"],"summary":"TODO Requires a lookup table that I don't know if we care about\nrpc ProviderByCollateralAddress (QueryGetProviderByCollateralAddressRequest) returns (QueryGetProviderResponse) {\noption (google.api.http).get = \"/structs/provider_by_collateral_address/{address}\";\n}","operationId":"StructsQuery_ProviderEarningsAddress","parameters":[{"type":"string","name":"providerId","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllProviderEarningsAddressResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/reactor":{"get":{"tags":["Query"],"operationId":"StructsQuery_ReactorAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllReactorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/reactor/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Reactor items.","operationId":"StructsQuery_Reactor","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetReactorResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Structs items.","operationId":"StructsQuery_Struct","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_attribute":{"get":{"tags":["Query"],"summary":"Queries a list of all Struct Attributes","operationId":"StructsQuery_StructAttributeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_attribute/{structId}/{attributeType}":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructAttribute","parameters":[{"type":"string","name":"structId","in":"path","required":true},{"type":"string","name":"attributeType","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructAttributeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_type":{"get":{"tags":["Query"],"operationId":"StructsQuery_StructTypeAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllStructTypeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/struct_type/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Struct Types items.","operationId":"StructsQuery_StructType","parameters":[{"type":"string","format":"uint64","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetStructTypeResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/structs/params":{"get":{"tags":["Query"],"summary":"Parameters queries the parameters of the module.","operationId":"StructsQuery_Params","responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryParamsResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/substation":{"get":{"tags":["Query"],"operationId":"StructsQuery_SubstationAll","parameters":[{"type":"string","format":"byte","description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","name":"pagination.key","in":"query"},{"type":"string","format":"uint64","description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","name":"pagination.offset","in":"query"},{"type":"string","format":"uint64","description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","name":"pagination.limit","in":"query"},{"type":"boolean","description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","name":"pagination.count_total","in":"query"},{"type":"boolean","description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","name":"pagination.reverse","in":"query"}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryAllSubstationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/substation/{id}":{"get":{"tags":["Query"],"summary":"Queries a list of Substation items.","operationId":"StructsQuery_Substation","parameters":[{"type":"string","name":"id","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryGetSubstationResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}},"/structs/validate_signature/{address}/{proofPubKey}/{proofSignature}/{message}":{"get":{"tags":["Query"],"operationId":"StructsQuery_ValidateSignature","parameters":[{"type":"string","name":"address","in":"path","required":true},{"type":"string","name":"proofPubKey","in":"path","required":true},{"type":"string","name":"proofSignature","in":"path","required":true},{"type":"string","name":"message","in":"path","required":true}],"responses":{"200":{"description":"A successful response.","schema":{"$ref":"#/definitions/structs.structs.QueryValidateSignatureResponse"}},"default":{"description":"An unexpected error response.","schema":{"$ref":"#/definitions/google.rpc.Status"}}}}}},"definitions":{"cosmos.base.query.v1beta1.PageRequest":{"description":"message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }","type":"object","title":"PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:","properties":{"count_total":{"description":"count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.","type":"boolean"},"key":{"description":"key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.","type":"string","format":"byte"},"limit":{"description":"limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.","type":"string","format":"uint64"},"offset":{"description":"offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.","type":"string","format":"uint64"},"reverse":{"description":"reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43","type":"boolean"}}},"cosmos.base.query.v1beta1.PageResponse":{"description":"PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }","type":"object","properties":{"next_key":{"description":"next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results.","type":"string","format":"byte"},"total":{"type":"string","format":"uint64","title":"total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise"}}},"cosmos.base.v1beta1.Coin":{"description":"Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto.","type":"object","properties":{"amount":{"type":"string"},"denom":{"type":"string"}}},"google.protobuf.Any":{"type":"object","properties":{"@type":{"type":"string"}},"additionalProperties":{}},"google.rpc.Status":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"details":{"type":"array","items":{"type":"object","$ref":"#/definitions/google.protobuf.Any"}},"message":{"type":"string"}}},"structs.structs.Agreement":{"type":"object","properties":{"allocationId":{"type":"string"},"capacity":{"type":"string","format":"uint64"},"creator":{"type":"string"},"endBlock":{"type":"string","format":"uint64"},"id":{"type":"string"},"owner":{"type":"string"},"providerId":{"type":"string"},"startBlock":{"type":"string","format":"uint64"}}},"structs.structs.Allocation":{"type":"object","properties":{"controller":{"type":"string"},"creator":{"type":"string","title":"Who does this currently belong to"},"destinationId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"locked":{"type":"boolean","title":"Locking will be needed for IBC"},"sourceObjectId":{"type":"string","title":"Core allocation details"},"type":{"$ref":"#/definitions/structs.structs.allocationType"}}},"structs.structs.Fleet":{"type":"object","properties":{"air":{"type":"array","items":{"type":"string"}},"airSlots":{"type":"string","format":"uint64"},"commandStruct":{"type":"string"},"id":{"type":"string"},"land":{"type":"array","items":{"type":"string"}},"landSlots":{"type":"string","format":"uint64"},"locationId":{"type":"string"},"locationListBackward":{"type":"string","title":"Towards End of List"},"locationListForward":{"type":"string","title":"Towards Planet"},"locationType":{"$ref":"#/definitions/structs.structs.objectType"},"owner":{"type":"string"},"space":{"type":"array","items":{"type":"string"}},"spaceSlots":{"type":"string","format":"uint64"},"status":{"$ref":"#/definitions/structs.structs.fleetStatus"},"water":{"type":"array","items":{"type":"string"}},"waterSlots":{"type":"string","format":"uint64"}}},"structs.structs.GridAttributes":{"type":"object","properties":{"allocationPointerEnd":{"type":"string","format":"uint64"},"allocationPointerStart":{"type":"string","format":"uint64"},"capacity":{"type":"string","format":"uint64"},"checkpointBlock":{"type":"string","format":"uint64"},"connectionCapacity":{"type":"string","format":"uint64"},"connectionCount":{"type":"string","format":"uint64"},"fuel":{"type":"string","format":"uint64"},"lastAction":{"type":"string","format":"uint64"},"load":{"type":"string","format":"uint64"},"nonce":{"type":"string","format":"uint64"},"ore":{"type":"string","format":"uint64"},"power":{"type":"string","format":"uint64"},"proxyNonce":{"type":"string","format":"uint64"},"ready":{"type":"string","format":"uint64"},"structsLoad":{"type":"string","format":"uint64"}}},"structs.structs.GridRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.Guild":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"entrySubstationId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"joinInfusionMinimum":{"type":"string","format":"uint64"},"joinInfusionMinimumBypassByInvite":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"},"joinInfusionMinimumBypassByRequest":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"},"owner":{"type":"string"},"primaryReactorId":{"type":"string"}}},"structs.structs.GuildMembershipApplication":{"type":"object","properties":{"guildId":{"type":"string"},"joinType":{"title":"Invite | Request","$ref":"#/definitions/structs.structs.guildJoinType"},"playerId":{"type":"string"},"proposer":{"type":"string"},"registrationStatus":{"$ref":"#/definitions/structs.structs.registrationStatus"},"substationId":{"type":"string"}}},"structs.structs.Infusion":{"type":"object","properties":{"address":{"type":"string"},"commission":{"type":"string"},"defusing":{"type":"string"},"destinationId":{"type":"string"},"destinationType":{"$ref":"#/definitions/structs.structs.objectType"},"fuel":{"type":"string","format":"uint64"},"playerId":{"type":"string"},"power":{"type":"string","format":"uint64"},"ratio":{"type":"string","format":"uint64"}}},"structs.structs.InternalAddressAssociation":{"type":"object","properties":{"address":{"type":"string"},"objectId":{"type":"string"}}},"structs.structs.MsgAddressRegister":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"},"proofPubKey":{"type":"string"},"proofSignature":{"type":"string"}}},"structs.structs.MsgAddressRegisterResponse":{"type":"object"},"structs.structs.MsgAddressRevoke":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAddressRevokeResponse":{"type":"object"},"structs.structs.MsgAgreementCapacityDecrease":{"type":"object","properties":{"agreementId":{"type":"string"},"capacityDecrease":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementCapacityIncrease":{"type":"object","properties":{"agreementId":{"type":"string"},"capacityIncrease":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementClose":{"type":"object","properties":{"agreementId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAgreementDurationIncrease":{"type":"object","properties":{"agreementId":{"type":"string"},"creator":{"type":"string"},"durationIncrease":{"type":"string","format":"uint64"}}},"structs.structs.MsgAgreementOpen":{"type":"object","properties":{"capacity":{"type":"string","format":"uint64"},"creator":{"type":"string"},"duration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgAgreementResponse":{"type":"object"},"structs.structs.MsgAllocationCreate":{"type":"object","properties":{"allocationType":{"$ref":"#/definitions/structs.structs.allocationType"},"controller":{"type":"string"},"creator":{"type":"string"},"power":{"type":"string","format":"uint64"},"sourceObjectId":{"type":"string"}}},"structs.structs.MsgAllocationCreateResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationDelete":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAllocationDeleteResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationTransfer":{"type":"object","properties":{"allocationId":{"type":"string"},"controller":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgAllocationTransferResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgAllocationUpdate":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"power":{"type":"string","format":"uint64"}}},"structs.structs.MsgAllocationUpdateResponse":{"type":"object","properties":{"allocationId":{"type":"string"}}},"structs.structs.MsgFleetMove":{"type":"object","properties":{"creator":{"type":"string"},"destinationLocationId":{"type":"string"},"fleetId":{"type":"string"}}},"structs.structs.MsgFleetMoveResponse":{"type":"object","properties":{"fleet":{"$ref":"#/definitions/structs.structs.Fleet"}}},"structs.structs.MsgGuildBankConfiscateAndBurn":{"type":"object","properties":{"address":{"type":"string"},"amountToken":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankConfiscateAndBurnResponse":{"type":"object"},"structs.structs.MsgGuildBankMint":{"type":"object","properties":{"amountAlpha":{"type":"string","format":"uint64"},"amountToken":{"type":"string","format":"uint64"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankMintResponse":{"type":"object"},"structs.structs.MsgGuildBankRedeem":{"type":"object","properties":{"amountToken":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"}}},"structs.structs.MsgGuildBankRedeemResponse":{"type":"object"},"structs.structs.MsgGuildCreate":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"entrySubstationId":{"type":"string"}}},"structs.structs.MsgGuildCreateResponse":{"type":"object","properties":{"guildId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInvite":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteApprove":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteDeny":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipInviteRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipJoin":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"infusionId":{"type":"array","items":{"type":"string"}},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipJoinProxy":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"proofPubKey":{"type":"string"},"proofSignature":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipKick":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequest":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestApprove":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestDeny":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipRequestRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgGuildMembershipResponse":{"type":"object","properties":{"guildMembershipApplication":{"$ref":"#/definitions/structs.structs.GuildMembershipApplication"}}},"structs.structs.MsgGuildUpdateEndpoint":{"type":"object","properties":{"creator":{"type":"string"},"endpoint":{"type":"string"},"guildId":{"type":"string"}}},"structs.structs.MsgGuildUpdateEntrySubstationId":{"type":"object","properties":{"creator":{"type":"string"},"entrySubstationId":{"type":"string"},"guildId":{"type":"string"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimum":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"joinInfusionMinimum":{"type":"string","format":"uint64"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByInvite":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"guildJoinBypassLevel":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"}}},"structs.structs.MsgGuildUpdateJoinInfusionMinimumBypassByRequest":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"guildJoinBypassLevel":{"$ref":"#/definitions/structs.structs.guildJoinBypassLevel"}}},"structs.structs.MsgGuildUpdateOwnerId":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.MsgGuildUpdateResponse":{"type":"object"},"structs.structs.MsgPermissionGrantOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionGrantOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPermissionResponse":{"type":"object"},"structs.structs.MsgPermissionRevokeOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionRevokeOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPermissionSetOnAddress":{"type":"object","properties":{"address":{"type":"string"},"creator":{"type":"string"},"permissions":{"type":"string","format":"uint64"}}},"structs.structs.MsgPermissionSetOnObject":{"type":"object","properties":{"creator":{"type":"string"},"objectId":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.MsgPlanetExplore":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgPlanetExploreResponse":{"type":"object","properties":{"planet":{"$ref":"#/definitions/structs.structs.Planet"}}},"structs.structs.MsgPlanetRaidComplete":{"type":"object","properties":{"creator":{"type":"string"},"fleetId":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"}}},"structs.structs.MsgPlanetRaidCompleteResponse":{"type":"object","properties":{"fleet":{"$ref":"#/definitions/structs.structs.Fleet"},"oreStolen":{"type":"string","format":"uint64"},"planet":{"$ref":"#/definitions/structs.structs.Planet"}}},"structs.structs.MsgPlayerResume":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgPlayerResumeResponse":{"type":"object"},"structs.structs.MsgPlayerUpdatePrimaryAddress":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"},"primaryAddress":{"type":"string"}}},"structs.structs.MsgPlayerUpdatePrimaryAddressResponse":{"type":"object"},"structs.structs.MsgProviderCreate":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"capacityMaximum":{"type":"string","format":"uint64"},"capacityMinimum":{"type":"string","format":"uint64"},"consumerCancellationPenalty":{"type":"string"},"creator":{"type":"string"},"durationMaximum":{"type":"string","format":"uint64"},"durationMinimum":{"type":"string","format":"uint64"},"providerCancellationPenalty":{"type":"string"},"rate":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"substationId":{"type":"string"}}},"structs.structs.MsgProviderDelete":{"type":"object","properties":{"creator":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderGuildGrant":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"array","items":{"type":"string"}},"providerId":{"type":"string"}}},"structs.structs.MsgProviderGuildRevoke":{"type":"object","properties":{"creator":{"type":"string"},"guildId":{"type":"array","items":{"type":"string"}},"providerId":{"type":"string"}}},"structs.structs.MsgProviderResponse":{"type":"object"},"structs.structs.MsgProviderUpdateAccessPolicy":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"creator":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateCapacityMaximum":{"type":"object","properties":{"creator":{"type":"string"},"newMaximumCapacity":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateCapacityMinimum":{"type":"object","properties":{"creator":{"type":"string"},"newMinimumCapacity":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateDurationMaximum":{"type":"object","properties":{"creator":{"type":"string"},"newMaximumDuration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderUpdateDurationMinimum":{"type":"object","properties":{"creator":{"type":"string"},"newMinimumDuration":{"type":"string","format":"uint64"},"providerId":{"type":"string"}}},"structs.structs.MsgProviderWithdrawBalance":{"type":"object","properties":{"creator":{"type":"string"},"destinationAddress":{"type":"string"},"providerId":{"type":"string"}}},"structs.structs.MsgReactorBeginMigration":{"description":"MsgReactorBeginMigration defines a SDK message for performing a redelegation\nof coins from a delegator and source validator to a destination validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"delegator_address":{"type":"string"},"validator_dst_address":{"type":"string"},"validator_src_address":{"type":"string"}}},"structs.structs.MsgReactorBeginMigrationResponse":{"description":"MsgBeginMigrationResponse defines the Msg/BeginRedelegate response type.","type":"object","properties":{"completion_time":{"type":"string","format":"date-time"}}},"structs.structs.MsgReactorCancelDefusion":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgReactorCancelDefusion defines the SDK message for performing a cancel unbonding delegation for delegator","properties":{"amount":{"title":"amount is always less than or equal to unbonding delegation entry balance","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creation_height":{"description":"creation_height is the height which the unbonding took place.","type":"string","format":"int64"},"creator":{"type":"string"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"structs.structs.MsgReactorCancelDefusionResponse":{"description":"Since: cosmos-sdk 0.46","type":"object","title":"MsgReactorCancelDefusionResponse"},"structs.structs.MsgReactorDefuse":{"description":"MsgReactorDefuse defines a SDK message for performing an undelegation from a\ndelegate and a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"structs.structs.MsgReactorDefuseResponse":{"description":"MsgReactorDefuseResponse defines the Msg/Undelegate response type.","type":"object","properties":{"amount":{"description":"Since: cosmos-sdk 0.50","title":"amount returns the amount of undelegated coins","$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"completion_time":{"type":"string","format":"date-time"}}},"structs.structs.MsgReactorInfuse":{"description":"MsgReactorInfuse defines a SDK message for performing a delegation of coins\nfrom a delegator to a validator.","type":"object","properties":{"amount":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"creator":{"type":"string"},"delegator_address":{"type":"string"},"validator_address":{"type":"string"}}},"structs.structs.MsgReactorInfuseResponse":{"description":"MsgReactorInfuseResponse defines the Msg/Delegate response type.","type":"object"},"structs.structs.MsgStructActivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructAttack":{"type":"object","properties":{"creator":{"type":"string"},"operatingStructId":{"type":"string"},"targetStructId":{"type":"array","items":{"type":"string"}},"weaponSystem":{"type":"string"}}},"structs.structs.MsgStructAttackResponse":{"type":"object"},"structs.structs.MsgStructBuildCancel":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructBuildComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructBuildInitiate":{"type":"object","properties":{"creator":{"type":"string"},"operatingAmbit":{"title":"objectType locationType = 4;","$ref":"#/definitions/structs.structs.ambit"},"playerId":{"type":"string"},"slot":{"type":"string","format":"uint64"},"structTypeId":{"type":"string","format":"uint64"}}},"structs.structs.MsgStructDeactivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructDefenseClear":{"type":"object","properties":{"creator":{"type":"string"},"defenderStructId":{"type":"string"}}},"structs.structs.MsgStructDefenseSet":{"type":"object","properties":{"creator":{"type":"string"},"defenderStructId":{"type":"string"},"protectedStructId":{"type":"string"}}},"structs.structs.MsgStructGeneratorInfuse":{"type":"object","properties":{"creator":{"type":"string"},"infuseAmount":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructGeneratorStatusResponse":{"type":"object"},"structs.structs.MsgStructMove":{"type":"object","properties":{"ambit":{"$ref":"#/definitions/structs.structs.ambit"},"creator":{"type":"string"},"locationType":{"$ref":"#/definitions/structs.structs.objectType"},"slot":{"type":"string","format":"uint64"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreMinerComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreMinerStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructOreRefineryComplete":{"type":"object","properties":{"creator":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructOreRefineryStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructStatusResponse":{"type":"object","properties":{"struct":{"$ref":"#/definitions/structs.structs.Struct"}}},"structs.structs.MsgStructStealthActivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgStructStealthDeactivate":{"type":"object","properties":{"creator":{"type":"string"},"structId":{"type":"string"}}},"structs.structs.MsgSubstationAllocationConnect":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"destinationId":{"type":"string"}}},"structs.structs.MsgSubstationAllocationConnectResponse":{"type":"object"},"structs.structs.MsgSubstationAllocationDisconnect":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"}}},"structs.structs.MsgSubstationAllocationDisconnectResponse":{"type":"object"},"structs.structs.MsgSubstationCreate":{"type":"object","properties":{"allocationId":{"type":"string"},"creator":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.MsgSubstationCreateResponse":{"type":"object","properties":{"substationId":{"type":"string"}}},"structs.structs.MsgSubstationDelete":{"type":"object","properties":{"creator":{"type":"string"},"migrationSubstationId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationDeleteResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerConnect":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerConnectResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerDisconnect":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerDisconnectResponse":{"type":"object"},"structs.structs.MsgSubstationPlayerMigrate":{"type":"object","properties":{"creator":{"type":"string"},"playerId":{"type":"array","items":{"type":"string"}},"substationId":{"type":"string"}}},"structs.structs.MsgSubstationPlayerMigrateResponse":{"type":"object"},"structs.structs.MsgUpdateParams":{"description":"MsgUpdateParams is the Msg/UpdateParams request type.","type":"object","properties":{"authority":{"description":"authority is the address that controls the module (defaults to x/gov unless overwritten).","type":"string"},"params":{"description":"params defines the module parameters to update.\n\nNOTE: All parameters must be supplied.","$ref":"#/definitions/structs.structs.Params"}}},"structs.structs.MsgUpdateParamsResponse":{"description":"MsgUpdateParamsResponse defines the response structure for executing a\nMsgUpdateParams message.","type":"object"},"structs.structs.Params":{"description":"Params defines the parameters for the module.","type":"object"},"structs.structs.PermissionRecord":{"type":"object","properties":{"permissionId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.Planet":{"type":"object","properties":{"air":{"type":"array","items":{"type":"string"}},"airSlots":{"type":"string","format":"uint64"},"creator":{"type":"string"},"id":{"type":"string"},"land":{"type":"array","items":{"type":"string"}},"landSlots":{"type":"string","format":"uint64"},"locationListLast":{"type":"string","title":"End of the line"},"locationListStart":{"type":"string","title":"First in line to battle planet"},"maxOre":{"type":"string","format":"uint64"},"owner":{"type":"string"},"space":{"type":"array","items":{"type":"string"}},"spaceSlots":{"type":"string","format":"uint64"},"status":{"$ref":"#/definitions/structs.structs.planetStatus"},"water":{"type":"array","items":{"type":"string"}},"waterSlots":{"type":"string","format":"uint64"}}},"structs.structs.PlanetAttributeRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.PlanetAttributes":{"type":"object","properties":{"advancedLowOrbitBallisticsInterceptorNetworkQuantity":{"type":"string","format":"uint64"},"advancedOrbitalJammingStationQuantity":{"type":"string","format":"uint64"},"blockStartRaid":{"type":"string","format":"uint64"},"coordinatedGlobalShieldNetworkQuantity":{"type":"string","format":"uint64"},"defensiveCannonQuantity":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkQuantity":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkSuccessRateDenominator":{"type":"string","format":"uint64"},"lowOrbitBallisticsInterceptorNetworkSuccessRateNumerator":{"type":"string","format":"uint64"},"orbitalJammingStationQuantity":{"type":"string","format":"uint64"},"planetaryShield":{"type":"string","format":"uint64"},"repairNetworkQuantity":{"type":"string","format":"uint64"}}},"structs.structs.Player":{"type":"object","properties":{"creator":{"type":"string"},"fleetId":{"type":"string"},"guildId":{"type":"string"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"planetId":{"type":"string"},"primaryAddress":{"type":"string"},"substationId":{"type":"string"}}},"structs.structs.PlayerInventory":{"type":"object","properties":{"rocks":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"}}},"structs.structs.Provider":{"type":"object","properties":{"accessPolicy":{"$ref":"#/definitions/structs.structs.providerAccessPolicy"},"capacityMaximum":{"type":"string","format":"uint64"},"capacityMinimum":{"type":"string","format":"uint64"},"consumerCancellationPenalty":{"type":"string"},"creator":{"type":"string"},"durationMaximum":{"type":"string","format":"uint64"},"durationMinimum":{"type":"string","format":"uint64"},"id":{"type":"string"},"index":{"type":"string","format":"uint64"},"owner":{"type":"string"},"providerCancellationPenalty":{"type":"string"},"rate":{"$ref":"#/definitions/cosmos.base.v1beta1.Coin"},"substationId":{"type":"string"}}},"structs.structs.QueryAddressResponse":{"type":"object","properties":{"address":{"type":"string"},"permissions":{"type":"string","format":"uint64"},"playerId":{"type":"string"}}},"structs.structs.QueryAllAddressResponse":{"type":"object","properties":{"address":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.QueryAddressResponse"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllAgreementResponse":{"type":"object","properties":{"Agreement":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Agreement"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllAllocationResponse":{"type":"object","properties":{"Allocation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Allocation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"status":{"type":"array","items":{"type":"string","format":"uint64"}}}},"structs.structs.QueryAllFleetResponse":{"type":"object","properties":{"Fleet":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Fleet"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGridResponse":{"type":"object","properties":{"gridRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.GridRecord"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildBankCollateralAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildMembershipApplicationResponse":{"type":"object","properties":{"GuildMembershipApplication":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.GuildMembershipApplication"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllGuildResponse":{"type":"object","properties":{"Guild":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Guild"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllInfusionResponse":{"type":"object","properties":{"Infusion":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Infusion"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"status":{"type":"array","items":{"type":"string","format":"uint64"}}}},"structs.structs.QueryAllPermissionResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"permissionRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.PermissionRecord"}}}},"structs.structs.QueryAllPlanetAttributeResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"planetAttributeRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.PlanetAttributeRecord"}}}},"structs.structs.QueryAllPlanetResponse":{"type":"object","properties":{"Planet":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Planet"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllPlayerHaltedResponse":{"type":"object","properties":{"PlayerId":{"type":"array","items":{"type":"string"}}}},"structs.structs.QueryAllPlayerResponse":{"type":"object","properties":{"Player":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Player"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderCollateralAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderEarningsAddressResponse":{"type":"object","properties":{"internalAddressAssociation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.InternalAddressAssociation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllProviderResponse":{"type":"object","properties":{"Provider":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Provider"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllReactorResponse":{"type":"object","properties":{"Reactor":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Reactor"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllStructAttributeResponse":{"type":"object","properties":{"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"},"structAttributeRecords":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.StructAttributeRecord"}}}},"structs.structs.QueryAllStructResponse":{"type":"object","properties":{"Struct":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Struct"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllStructTypeResponse":{"type":"object","properties":{"StructType":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.StructType"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryAllSubstationResponse":{"type":"object","properties":{"Substation":{"type":"array","items":{"type":"object","$ref":"#/definitions/structs.structs.Substation"}},"pagination":{"$ref":"#/definitions/cosmos.base.query.v1beta1.PageResponse"}}},"structs.structs.QueryBlockHeightResponse":{"type":"object","properties":{"blockHeight":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetAgreementResponse":{"type":"object","properties":{"Agreement":{"$ref":"#/definitions/structs.structs.Agreement"}}},"structs.structs.QueryGetAllocationResponse":{"type":"object","properties":{"Allocation":{"$ref":"#/definitions/structs.structs.Allocation"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetFleetResponse":{"type":"object","properties":{"Fleet":{"$ref":"#/definitions/structs.structs.Fleet"}}},"structs.structs.QueryGetGridResponse":{"type":"object","title":"Generic Responses for Permissions","properties":{"gridRecord":{"$ref":"#/definitions/structs.structs.GridRecord"}}},"structs.structs.QueryGetGuildMembershipApplicationResponse":{"type":"object","properties":{"GuildMembershipApplication":{"$ref":"#/definitions/structs.structs.GuildMembershipApplication"}}},"structs.structs.QueryGetGuildResponse":{"type":"object","properties":{"Guild":{"$ref":"#/definitions/structs.structs.Guild"}}},"structs.structs.QueryGetInfusionResponse":{"type":"object","properties":{"Infusion":{"$ref":"#/definitions/structs.structs.Infusion"}}},"structs.structs.QueryGetPermissionResponse":{"type":"object","title":"Generic Responses for Permissions","properties":{"permissionRecord":{"$ref":"#/definitions/structs.structs.PermissionRecord"}}},"structs.structs.QueryGetPlanetAttributeResponse":{"type":"object","properties":{"attribute":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetPlanetResponse":{"type":"object","properties":{"Planet":{"$ref":"#/definitions/structs.structs.Planet"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"planetAttributes":{"$ref":"#/definitions/structs.structs.PlanetAttributes"}}},"structs.structs.QueryGetPlayerResponse":{"type":"object","properties":{"Player":{"$ref":"#/definitions/structs.structs.Player"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"halted":{"type":"boolean"},"playerInventory":{"$ref":"#/definitions/structs.structs.PlayerInventory"}}},"structs.structs.QueryGetProviderResponse":{"type":"object","properties":{"Provider":{"$ref":"#/definitions/structs.structs.Provider"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetReactorResponse":{"type":"object","properties":{"Reactor":{"$ref":"#/definitions/structs.structs.Reactor"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryGetStructAttributeResponse":{"type":"object","properties":{"attribute":{"type":"string","format":"uint64"}}},"structs.structs.QueryGetStructResponse":{"type":"object","properties":{"Struct":{"$ref":"#/definitions/structs.structs.Struct"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"},"structAttributes":{"$ref":"#/definitions/structs.structs.StructAttributes"},"structDefenders":{"type":"array","items":{"type":"string"}}}},"structs.structs.QueryGetStructTypeResponse":{"type":"object","properties":{"StructType":{"$ref":"#/definitions/structs.structs.StructType"}}},"structs.structs.QueryGetSubstationResponse":{"type":"object","properties":{"Substation":{"$ref":"#/definitions/structs.structs.Substation"},"gridAttributes":{"$ref":"#/definitions/structs.structs.GridAttributes"}}},"structs.structs.QueryParamsResponse":{"description":"QueryParamsResponse is response type for the Query/Params RPC method.","type":"object","properties":{"params":{"description":"params holds all the parameters of this module.","$ref":"#/definitions/structs.structs.Params"}}},"structs.structs.QueryValidateSignatureResponse":{"type":"object","properties":{"addressPubkeyMismatch":{"type":"boolean"},"pubkeyFormatError":{"type":"boolean"},"signatureFormatError":{"type":"boolean"},"signatureInvalid":{"type":"boolean"},"valid":{"type":"boolean"}}},"structs.structs.Reactor":{"type":"object","properties":{"defaultCommission":{"type":"string"},"guildId":{"type":"string"},"id":{"type":"string"},"rawAddress":{"type":"string","format":"byte"},"validator":{"type":"string"}}},"structs.structs.Struct":{"type":"object","properties":{"creator":{"type":"string","title":"Who is it"},"id":{"type":"string","title":"What it is"},"index":{"type":"string","format":"uint64"},"locationId":{"type":"string"},"locationType":{"title":"Where it is","$ref":"#/definitions/structs.structs.objectType"},"operatingAmbit":{"$ref":"#/definitions/structs.structs.ambit"},"owner":{"type":"string"},"slot":{"type":"string","format":"uint64"},"type":{"type":"string","format":"uint64"}}},"structs.structs.StructAttributeRecord":{"type":"object","properties":{"attributeId":{"type":"string"},"value":{"type":"string","format":"uint64"}}},"structs.structs.StructAttributes":{"type":"object","properties":{"blockStartBuild":{"type":"string","format":"uint64"},"blockStartOreMine":{"type":"string","format":"uint64"},"blockStartOreRefine":{"type":"string","format":"uint64"},"health":{"type":"string","format":"uint64"},"isBuilt":{"type":"boolean"},"isDestroyed":{"type":"boolean"},"isHidden":{"type":"boolean"},"isLocked":{"type":"boolean"},"isMaterialized":{"type":"boolean"},"isOnline":{"type":"boolean"},"protectedStructIndex":{"type":"string","format":"uint64"},"status":{"type":"string","format":"uint64"},"typeCount":{"type":"string","format":"uint64"}}},"structs.structs.StructType":{"type":"object","properties":{"activateCharge":{"type":"string","format":"uint64","title":"Charge uses"},"attackCounterable":{"type":"boolean","title":"For Indirect Combat Module"},"attackReduction":{"description":"For Defensive Cannon","type":"string","format":"uint64","title":"Tech Tree Attributes"},"buildCharge":{"type":"string","format":"uint64"},"buildDifficulty":{"type":"string","format":"uint64","title":"How much compute is needed to build"},"buildDraw":{"type":"string","format":"uint64","title":"How much energy the Struct consumes during building"},"buildLimit":{"type":"string","format":"uint64","title":"How many of this Struct Type a player can have"},"category":{"description":"Planet or Fleet","title":"Fundamental attributes","$ref":"#/definitions/structs.structs.objectType"},"class":{"type":"string","title":"New Struct Type Identity Details"},"classAbbreviation":{"type":"string"},"counterAttack":{"type":"string","format":"uint64","title":"Counter"},"counterAttackSameAmbit":{"type":"string","format":"uint64","title":"Advanced Counter"},"defaultCosmeticModelNumber":{"type":"string"},"defaultCosmeticName":{"type":"string"},"defendChangeCharge":{"type":"string","format":"uint64"},"generatingRate":{"type":"string","format":"uint64","title":"Power Generation"},"guidedDefensiveSuccessRateDenominator":{"type":"string","format":"uint64"},"guidedDefensiveSuccessRateNumerator":{"type":"string","format":"uint64"},"id":{"type":"string","format":"uint64"},"maxHealth":{"type":"string","format":"uint64","title":"How much damage can it take"},"movable":{"type":"boolean","title":"Can the Struct change ambit?"},"moveCharge":{"type":"string","format":"uint64"},"oreMiningCharge":{"type":"string","format":"uint64"},"oreMiningDifficulty":{"type":"string","format":"uint64"},"oreRefiningCharge":{"type":"string","format":"uint64"},"oreRefiningDifficulty":{"type":"string","format":"uint64"},"oreReserveDefenses":{"$ref":"#/definitions/structs.structs.techOreReserveDefenses"},"passiveDraw":{"type":"string","format":"uint64","title":"How much energy the Struct consumes when active"},"passiveWeaponry":{"title":"Tech Tree Features","$ref":"#/definitions/structs.structs.techPassiveWeaponry"},"planetaryDefenses":{"$ref":"#/definitions/structs.structs.techPlanetaryDefenses"},"planetaryMining":{"$ref":"#/definitions/structs.structs.techPlanetaryMining"},"planetaryRefinery":{"$ref":"#/definitions/structs.structs.techPlanetaryRefineries"},"planetaryShieldContribution":{"type":"string","format":"uint64","title":"The shield that is added to the Planet"},"possibleAmbit":{"description":"Where can it be built and moved to. Usually only a single ambit but some Structs have multiple possible (i.e. Command Ship)","type":"string","format":"uint64","title":"Details about location and movement\nTODO move category to here and make it flag based too\nReplicate what was done for ambits flags"},"postDestructionDamage":{"type":"string","format":"uint64"},"powerGeneration":{"$ref":"#/definitions/structs.structs.techPowerGeneration"},"primaryWeapon":{"title":"Primary Weapon Configuration","$ref":"#/definitions/structs.structs.techActiveWeaponry"},"primaryWeaponAmbits":{"type":"string","format":"uint64"},"primaryWeaponBlockable":{"type":"boolean"},"primaryWeaponCharge":{"type":"string","format":"uint64"},"primaryWeaponControl":{"$ref":"#/definitions/structs.structs.techWeaponControl"},"primaryWeaponCounterable":{"type":"boolean"},"primaryWeaponDamage":{"type":"string","format":"uint64"},"primaryWeaponRecoilDamage":{"type":"string","format":"uint64"},"primaryWeaponShotSuccessRateDenominator":{"type":"string","format":"uint64"},"primaryWeaponShotSuccessRateNumerator":{"type":"string","format":"uint64"},"primaryWeaponShots":{"type":"string","format":"uint64"},"primaryWeaponTargets":{"type":"string","format":"uint64"},"secondaryWeapon":{"title":"Secondary Weapon Configuration","$ref":"#/definitions/structs.structs.techActiveWeaponry"},"secondaryWeaponAmbits":{"type":"string","format":"uint64"},"secondaryWeaponBlockable":{"type":"boolean"},"secondaryWeaponCharge":{"type":"string","format":"uint64"},"secondaryWeaponControl":{"$ref":"#/definitions/structs.structs.techWeaponControl"},"secondaryWeaponCounterable":{"type":"boolean"},"secondaryWeaponDamage":{"type":"string","format":"uint64"},"secondaryWeaponRecoilDamage":{"type":"string","format":"uint64"},"secondaryWeaponShotSuccessRateDenominator":{"type":"string","format":"uint64"},"secondaryWeaponShotSuccessRateNumerator":{"type":"string","format":"uint64"},"secondaryWeaponShots":{"type":"string","format":"uint64"},"secondaryWeaponTargets":{"type":"string","format":"uint64"},"slotBound":{"type":"boolean","title":"Does the Struct occupy a slot. Trying to find something to help set Command Ships apart"},"stealthActivateCharge":{"type":"string","format":"uint64"},"stealthSystems":{"type":"boolean","title":"For Stealth Mode"},"triggerRaidDefeatByDestruction":{"description":"I wish this was higher up in a different area of the definition\nbut I really don't feel like renumbering this entire thing again.","type":"boolean"},"type":{"description":"TODO Deprecating... Will match with Class for now.","type":"string"},"unguidedDefensiveSuccessRateDenominator":{"type":"string","format":"uint64"},"unguidedDefensiveSuccessRateNumerator":{"type":"string","format":"uint64"},"unitDefenses":{"$ref":"#/definitions/structs.structs.techUnitDefenses"}}},"structs.structs.Substation":{"type":"object","properties":{"creator":{"type":"string"},"id":{"type":"string"},"owner":{"type":"string"}}},"structs.structs.allocationType":{"type":"string","default":"static","enum":["static","dynamic","automated","providerAgreement"]},"structs.structs.ambit":{"type":"string","default":"none","enum":["none","water","land","air","space","local"]},"structs.structs.fleetStatus":{"type":"string","default":"onStation","enum":["onStation","away"]},"structs.structs.guildJoinBypassLevel":{"type":"string","title":"- closed: Feature off\n - permissioned: Only those with permissions can do it\n - member: All members of the guild can contribute","default":"closed","enum":["closed","permissioned","member"]},"structs.structs.guildJoinType":{"type":"string","default":"invite","enum":["invite","request","direct","proxy"]},"structs.structs.objectType":{"type":"string","default":"guild","enum":["guild","player","planet","reactor","substation","struct","allocation","infusion","address","fleet","provider","agreement"]},"structs.structs.planetStatus":{"type":"string","default":"active","enum":["active","complete"]},"structs.structs.providerAccessPolicy":{"type":"string","default":"openMarket","enum":["openMarket","guildMarket","closedMarket"]},"structs.structs.registrationStatus":{"type":"string","default":"proposed","enum":["proposed","approved","denied","revoked"]},"structs.structs.techActiveWeaponry":{"type":"string","default":"noActiveWeaponry","enum":["noActiveWeaponry","guidedWeaponry","unguidedWeaponry","attackRun","selfDestruct"]},"structs.structs.techOreReserveDefenses":{"type":"string","default":"noOreReserveDefenses","enum":["noOreReserveDefenses","coordinatedReserveResponseTracker","rapidResponsePackage","activeScanning","monitoringStation","oreBunker"]},"structs.structs.techPassiveWeaponry":{"type":"string","default":"noPassiveWeaponry","enum":["noPassiveWeaponry","counterAttack","strongCounterAttack","advancedCounterAttack","lastResort"]},"structs.structs.techPlanetaryDefenses":{"type":"string","title":"- lowOrbitBallisticInterceptorNetwork: advancedLowOrbitBallisticInterceptorNetwork = 3;\nrepairNetwork = 4;\ncoordinatedGlobalShieldNetwork = 5;\norbitalJammingStation = 6;\nadvancedOrbitalJammingStation = 7;","default":"noPlanetaryDefense","enum":["noPlanetaryDefense","defensiveCannon","lowOrbitBallisticInterceptorNetwork"]},"structs.structs.techPlanetaryMining":{"type":"string","default":"noPlanetaryMining","enum":["noPlanetaryMining","oreMiningRig"]},"structs.structs.techPlanetaryRefineries":{"type":"string","default":"noPlanetaryRefinery","enum":["noPlanetaryRefinery","oreRefinery"]},"structs.structs.techPowerGeneration":{"type":"string","default":"noPowerGeneration","enum":["noPowerGeneration","smallGenerator","mediumGenerator","largeGenerator"]},"structs.structs.techUnitDefenses":{"type":"string","default":"noUnitDefenses","enum":["noUnitDefenses","defensiveManeuver","signalJamming","armour","indirectCombatModule","stealthMode","perimeterFencing","reinforcedWalls"]},"structs.structs.techWeaponControl":{"type":"string","default":"noWeaponControl","enum":["noWeaponControl","guided","unguided"]}},"tags":[{"name":"Query"},{"name":"Msg"}]} \ No newline at end of file diff --git a/proto/structs/structs/tx.proto b/proto/structs/structs/tx.proto index 5edfefc..820d0e2 100644 --- a/proto/structs/structs/tx.proto +++ b/proto/structs/structs/tx.proto @@ -8,6 +8,7 @@ import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "structs/structs/params.proto"; import "cosmos/base/v1beta1/coin.proto"; +import "google/protobuf/timestamp.proto"; import "structs/structs/keys.proto"; import "structs/structs/fleet.proto"; @@ -91,6 +92,11 @@ service Msg { rpc ProviderDelete (MsgProviderDelete ) returns (MsgProviderResponse); + rpc ReactorInfuse (MsgReactorInfuse ) returns (MsgReactorInfuseResponse); + rpc ReactorDefuse (MsgReactorDefuse ) returns (MsgReactorDefuseResponse); + rpc ReactorBeginMigration (MsgReactorBeginMigration ) returns (MsgReactorBeginMigrationResponse); + rpc ReactorCancelDefusion (MsgReactorCancelDefusion ) returns (MsgReactorCancelDefusionResponse); + rpc StructActivate (MsgStructActivate ) returns (MsgStructStatusResponse ); rpc StructDeactivate (MsgStructDeactivate ) returns (MsgStructStatusResponse ); @@ -540,6 +546,97 @@ message MsgPlayerResume { message MsgPlayerResumeResponse {} + +// MsgReactorInfuse defines a SDK message for performing a delegation of coins +// from a delegator to a validator. +message MsgReactorInfuse { + option (cosmos.msg.v1.signer) = "creator"; + option (amino.name) = "cosmos-sdk/MsgReactorInfuse"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string creator = 1; + string delegator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_address = 3 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; + cosmos.base.v1beta1.Coin amount = 4 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +// MsgReactorInfuseResponse defines the Msg/Delegate response type. +message MsgReactorInfuseResponse {} + +// MsgReactorBeginMigration defines a SDK message for performing a redelegation +// of coins from a delegator and source validator to a destination validator. +message MsgReactorBeginMigration { + option (cosmos.msg.v1.signer) = "creator"; + option (amino.name) = "cosmos-sdk/MsgReactorBeginMigration"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string creator = 1; + string delegator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_src_address = 3 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; + string validator_dst_address = 4 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; + cosmos.base.v1beta1.Coin amount = 5 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +// MsgBeginMigrationResponse defines the Msg/BeginRedelegate response type. +message MsgReactorBeginMigrationResponse { + google.protobuf.Timestamp completion_time = 1 + [(gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.stdtime) = true]; +} + +// MsgReactorDefuse defines a SDK message for performing an undelegation from a +// delegate and a validator. +message MsgReactorDefuse { + option (cosmos.msg.v1.signer) = "creator"; + option (amino.name) = "cosmos-sdk/MsgReactorDefuse"; + + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string creator = 1; + string delegator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_address = 3 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; + cosmos.base.v1beta1.Coin amount = 4 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +// MsgReactorDefuseResponse defines the Msg/Undelegate response type. +message MsgReactorDefuseResponse { + google.protobuf.Timestamp completion_time = 1 + [(gogoproto.nullable) = false, (amino.dont_omitempty) = true, (gogoproto.stdtime) = true]; + + // amount returns the amount of undelegated coins + // + // Since: cosmos-sdk 0.50 + cosmos.base.v1beta1.Coin amount = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; +} + +// MsgReactorCancelDefusion defines the SDK message for performing a cancel unbonding delegation for delegator +// +// Since: cosmos-sdk 0.46 +message MsgReactorCancelDefusion { + option (cosmos.msg.v1.signer) = "creator"; + option (amino.name) = "cosmos-sdk/MsgReactorCancelDefusion"; + option (gogoproto.equal) = false; + option (gogoproto.goproto_getters) = false; + + string creator = 1; + string delegator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_address = 3 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; + // amount is always less than or equal to unbonding delegation entry balance + cosmos.base.v1beta1.Coin amount = 4 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; + // creation_height is the height which the unbonding took place. + int64 creation_height = 5; +} + +// MsgReactorCancelDefusionResponse +// +// Since: cosmos-sdk 0.46 +message MsgReactorCancelDefusionResponse {} + + message MsgStructStatusResponse { Struct struct = 1 [(gogoproto.nullable) = false]; } diff --git a/x/structs/keeper/msg_server_reactor_begin_migration.go b/x/structs/keeper/msg_server_reactor_begin_migration.go new file mode 100644 index 0000000..88f8f6d --- /dev/null +++ b/x/structs/keeper/msg_server_reactor_begin_migration.go @@ -0,0 +1,21 @@ +package keeper + +import ( + "context" + //"time" + //"cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + //sdkerrors "cosmossdk.io/errors" + "structs/x/structs/types" + //staking "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +func (k msgServer) ReactorBeginMigration(goCtx context.Context, msg *types.MsgReactorBeginMigration) (*types.MsgReactorBeginMigrationResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + // Add an Active Address record to the + // indexer for UI requirements + k.AddressEmitActivity(ctx, msg.Creator) + + + return &types.MsgReactorBeginMigrationResponse{}, nil +} diff --git a/x/structs/keeper/msg_server_reactor_cancel_defusion.go b/x/structs/keeper/msg_server_reactor_cancel_defusion.go new file mode 100644 index 0000000..8ab340b --- /dev/null +++ b/x/structs/keeper/msg_server_reactor_cancel_defusion.go @@ -0,0 +1,21 @@ +package keeper + +import ( + "context" + //"time" + //"cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + //sdkerrors "cosmossdk.io/errors" + "structs/x/structs/types" + //staking "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +func (k msgServer) ReactorCancelDefusion(goCtx context.Context, msg *types.MsgReactorCancelDefusion) (*types.MsgReactorCancelDefusionResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + // Add an Active Address record to the + // indexer for UI requirements + k.AddressEmitActivity(ctx, msg.Creator) + + + return &types.MsgReactorCancelDefusionResponse{}, nil +} diff --git a/x/structs/keeper/msg_server_reactor_defuse.go b/x/structs/keeper/msg_server_reactor_defuse.go new file mode 100644 index 0000000..edcd633 --- /dev/null +++ b/x/structs/keeper/msg_server_reactor_defuse.go @@ -0,0 +1,21 @@ +package keeper + +import ( + "context" + //"time" + //"cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + //sdkerrors "cosmossdk.io/errors" + "structs/x/structs/types" + //staking "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +func (k msgServer) ReactorDefuse(goCtx context.Context, msg *types.MsgReactorDefuse) (*types.MsgReactorDefuseResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + // Add an Active Address record to the + // indexer for UI requirements + k.AddressEmitActivity(ctx, msg.Creator) + + + return &types.MsgReactorDefuseResponse{}, nil +} diff --git a/x/structs/keeper/msg_server_reactor_infuse.go b/x/structs/keeper/msg_server_reactor_infuse.go new file mode 100644 index 0000000..c78a839 --- /dev/null +++ b/x/structs/keeper/msg_server_reactor_infuse.go @@ -0,0 +1,21 @@ +package keeper + +import ( + "context" + //"time" + //"cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + //sdkerrors "cosmossdk.io/errors" + "structs/x/structs/types" + //staking "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +func (k msgServer) ReactorInfuse(goCtx context.Context, msg *types.MsgReactorInfuse) (*types.MsgReactorInfuseResponse, error) { + ctx := sdk.UnwrapSDKContext(goCtx) + // Add an Active Address record to the + // indexer for UI requirements + k.AddressEmitActivity(ctx, msg.Creator) + + + return &types.MsgReactorInfuseResponse{}, nil +} diff --git a/x/structs/types/tx.pb.go b/x/structs/types/tx.pb.go index 6c4131d..7b05553 100644 --- a/x/structs/types/tx.pb.go +++ b/x/structs/types/tx.pb.go @@ -14,18 +14,22 @@ import ( _ "github.com/cosmos/gogoproto/gogoproto" grpc1 "github.com/cosmos/gogoproto/grpc" proto "github.com/cosmos/gogoproto/proto" + github_com_cosmos_gogoproto_types "github.com/cosmos/gogoproto/types" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" + _ "google.golang.org/protobuf/types/known/timestamppb" io "io" math "math" math_bits "math/bits" + time "time" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf +var _ = time.Kitchen // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. @@ -3248,6 +3252,356 @@ func (m *MsgPlayerResumeResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgPlayerResumeResponse proto.InternalMessageInfo +// MsgReactorInfuse defines a SDK message for performing a delegation of coins +// from a delegator to a validator. +type MsgReactorInfuse struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,3,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount types.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgReactorInfuse) Reset() { *m = MsgReactorInfuse{} } +func (m *MsgReactorInfuse) String() string { return proto.CompactTextString(m) } +func (*MsgReactorInfuse) ProtoMessage() {} +func (*MsgReactorInfuse) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{58} +} +func (m *MsgReactorInfuse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorInfuse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorInfuse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorInfuse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorInfuse.Merge(m, src) +} +func (m *MsgReactorInfuse) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorInfuse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorInfuse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorInfuse proto.InternalMessageInfo + +// MsgReactorInfuseResponse defines the Msg/Delegate response type. +type MsgReactorInfuseResponse struct { +} + +func (m *MsgReactorInfuseResponse) Reset() { *m = MsgReactorInfuseResponse{} } +func (m *MsgReactorInfuseResponse) String() string { return proto.CompactTextString(m) } +func (*MsgReactorInfuseResponse) ProtoMessage() {} +func (*MsgReactorInfuseResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{59} +} +func (m *MsgReactorInfuseResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorInfuseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorInfuseResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorInfuseResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorInfuseResponse.Merge(m, src) +} +func (m *MsgReactorInfuseResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorInfuseResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorInfuseResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorInfuseResponse proto.InternalMessageInfo + +// MsgReactorBeginMigration defines a SDK message for performing a redelegation +// of coins from a delegator and source validator to a destination validator. +type MsgReactorBeginMigration struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorSrcAddress string `protobuf:"bytes,3,opt,name=validator_src_address,json=validatorSrcAddress,proto3" json:"validator_src_address,omitempty"` + ValidatorDstAddress string `protobuf:"bytes,4,opt,name=validator_dst_address,json=validatorDstAddress,proto3" json:"validator_dst_address,omitempty"` + Amount types.Coin `protobuf:"bytes,5,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgReactorBeginMigration) Reset() { *m = MsgReactorBeginMigration{} } +func (m *MsgReactorBeginMigration) String() string { return proto.CompactTextString(m) } +func (*MsgReactorBeginMigration) ProtoMessage() {} +func (*MsgReactorBeginMigration) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{60} +} +func (m *MsgReactorBeginMigration) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorBeginMigration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorBeginMigration.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorBeginMigration) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorBeginMigration.Merge(m, src) +} +func (m *MsgReactorBeginMigration) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorBeginMigration) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorBeginMigration.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorBeginMigration proto.InternalMessageInfo + +// MsgBeginMigrationResponse defines the Msg/BeginRedelegate response type. +type MsgReactorBeginMigrationResponse struct { + CompletionTime time.Time `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3,stdtime" json:"completion_time"` +} + +func (m *MsgReactorBeginMigrationResponse) Reset() { *m = MsgReactorBeginMigrationResponse{} } +func (m *MsgReactorBeginMigrationResponse) String() string { return proto.CompactTextString(m) } +func (*MsgReactorBeginMigrationResponse) ProtoMessage() {} +func (*MsgReactorBeginMigrationResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{61} +} +func (m *MsgReactorBeginMigrationResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorBeginMigrationResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorBeginMigrationResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorBeginMigrationResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorBeginMigrationResponse.Merge(m, src) +} +func (m *MsgReactorBeginMigrationResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorBeginMigrationResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorBeginMigrationResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorBeginMigrationResponse proto.InternalMessageInfo + +func (m *MsgReactorBeginMigrationResponse) GetCompletionTime() time.Time { + if m != nil { + return m.CompletionTime + } + return time.Time{} +} + +// MsgReactorDefuse defines a SDK message for performing an undelegation from a +// delegate and a validator. +type MsgReactorDefuse struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,3,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + Amount types.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgReactorDefuse) Reset() { *m = MsgReactorDefuse{} } +func (m *MsgReactorDefuse) String() string { return proto.CompactTextString(m) } +func (*MsgReactorDefuse) ProtoMessage() {} +func (*MsgReactorDefuse) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{62} +} +func (m *MsgReactorDefuse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorDefuse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorDefuse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorDefuse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorDefuse.Merge(m, src) +} +func (m *MsgReactorDefuse) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorDefuse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorDefuse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorDefuse proto.InternalMessageInfo + +// MsgReactorDefuseResponse defines the Msg/Undelegate response type. +type MsgReactorDefuseResponse struct { + CompletionTime time.Time `protobuf:"bytes,1,opt,name=completion_time,json=completionTime,proto3,stdtime" json:"completion_time"` + // amount returns the amount of undelegated coins + // + // Since: cosmos-sdk 0.50 + Amount types.Coin `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount"` +} + +func (m *MsgReactorDefuseResponse) Reset() { *m = MsgReactorDefuseResponse{} } +func (m *MsgReactorDefuseResponse) String() string { return proto.CompactTextString(m) } +func (*MsgReactorDefuseResponse) ProtoMessage() {} +func (*MsgReactorDefuseResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{63} +} +func (m *MsgReactorDefuseResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorDefuseResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorDefuseResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorDefuseResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorDefuseResponse.Merge(m, src) +} +func (m *MsgReactorDefuseResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorDefuseResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorDefuseResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorDefuseResponse proto.InternalMessageInfo + +func (m *MsgReactorDefuseResponse) GetCompletionTime() time.Time { + if m != nil { + return m.CompletionTime + } + return time.Time{} +} + +func (m *MsgReactorDefuseResponse) GetAmount() types.Coin { + if m != nil { + return m.Amount + } + return types.Coin{} +} + +// MsgReactorCancelDefusion defines the SDK message for performing a cancel unbonding delegation for delegator +// +// Since: cosmos-sdk 0.46 +type MsgReactorCancelDefusion struct { + Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` + DelegatorAddress string `protobuf:"bytes,2,opt,name=delegator_address,json=delegatorAddress,proto3" json:"delegator_address,omitempty"` + ValidatorAddress string `protobuf:"bytes,3,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + // amount is always less than or equal to unbonding delegation entry balance + Amount types.Coin `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount"` + // creation_height is the height which the unbonding took place. + CreationHeight int64 `protobuf:"varint,5,opt,name=creation_height,json=creationHeight,proto3" json:"creation_height,omitempty"` +} + +func (m *MsgReactorCancelDefusion) Reset() { *m = MsgReactorCancelDefusion{} } +func (m *MsgReactorCancelDefusion) String() string { return proto.CompactTextString(m) } +func (*MsgReactorCancelDefusion) ProtoMessage() {} +func (*MsgReactorCancelDefusion) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{64} +} +func (m *MsgReactorCancelDefusion) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorCancelDefusion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorCancelDefusion.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorCancelDefusion) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorCancelDefusion.Merge(m, src) +} +func (m *MsgReactorCancelDefusion) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorCancelDefusion) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorCancelDefusion.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorCancelDefusion proto.InternalMessageInfo + +// MsgReactorCancelDefusionResponse +// +// Since: cosmos-sdk 0.46 +type MsgReactorCancelDefusionResponse struct { +} + +func (m *MsgReactorCancelDefusionResponse) Reset() { *m = MsgReactorCancelDefusionResponse{} } +func (m *MsgReactorCancelDefusionResponse) String() string { return proto.CompactTextString(m) } +func (*MsgReactorCancelDefusionResponse) ProtoMessage() {} +func (*MsgReactorCancelDefusionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_38fd6c203bede659, []int{65} +} +func (m *MsgReactorCancelDefusionResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgReactorCancelDefusionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgReactorCancelDefusionResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgReactorCancelDefusionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgReactorCancelDefusionResponse.Merge(m, src) +} +func (m *MsgReactorCancelDefusionResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgReactorCancelDefusionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgReactorCancelDefusionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgReactorCancelDefusionResponse proto.InternalMessageInfo + type MsgStructStatusResponse struct { Struct Struct `protobuf:"bytes,1,opt,name=struct,proto3" json:"struct"` } @@ -3256,7 +3610,7 @@ func (m *MsgStructStatusResponse) Reset() { *m = MsgStructStatusResponse func (m *MsgStructStatusResponse) String() string { return proto.CompactTextString(m) } func (*MsgStructStatusResponse) ProtoMessage() {} func (*MsgStructStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{58} + return fileDescriptor_38fd6c203bede659, []int{66} } func (m *MsgStructStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3301,7 +3655,7 @@ func (m *MsgStructActivate) Reset() { *m = MsgStructActivate{} } func (m *MsgStructActivate) String() string { return proto.CompactTextString(m) } func (*MsgStructActivate) ProtoMessage() {} func (*MsgStructActivate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{59} + return fileDescriptor_38fd6c203bede659, []int{67} } func (m *MsgStructActivate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3353,7 +3707,7 @@ func (m *MsgStructDeactivate) Reset() { *m = MsgStructDeactivate{} } func (m *MsgStructDeactivate) String() string { return proto.CompactTextString(m) } func (*MsgStructDeactivate) ProtoMessage() {} func (*MsgStructDeactivate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{60} + return fileDescriptor_38fd6c203bede659, []int{68} } func (m *MsgStructDeactivate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3409,7 +3763,7 @@ func (m *MsgStructBuildInitiate) Reset() { *m = MsgStructBuildInitiate{} func (m *MsgStructBuildInitiate) String() string { return proto.CompactTextString(m) } func (*MsgStructBuildInitiate) ProtoMessage() {} func (*MsgStructBuildInitiate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{61} + return fileDescriptor_38fd6c203bede659, []int{69} } func (m *MsgStructBuildInitiate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3484,7 +3838,7 @@ func (m *MsgStructBuildComplete) Reset() { *m = MsgStructBuildComplete{} func (m *MsgStructBuildComplete) String() string { return proto.CompactTextString(m) } func (*MsgStructBuildComplete) ProtoMessage() {} func (*MsgStructBuildComplete) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{62} + return fileDescriptor_38fd6c203bede659, []int{70} } func (m *MsgStructBuildComplete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3550,7 +3904,7 @@ func (m *MsgStructBuildCancel) Reset() { *m = MsgStructBuildCancel{} } func (m *MsgStructBuildCancel) String() string { return proto.CompactTextString(m) } func (*MsgStructBuildCancel) ProtoMessage() {} func (*MsgStructBuildCancel) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{63} + return fileDescriptor_38fd6c203bede659, []int{71} } func (m *MsgStructBuildCancel) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3607,7 +3961,7 @@ func (m *MsgStructBuildCompleteAndStash) Reset() { *m = MsgStructBuildCo func (m *MsgStructBuildCompleteAndStash) String() string { return proto.CompactTextString(m) } func (*MsgStructBuildCompleteAndStash) ProtoMessage() {} func (*MsgStructBuildCompleteAndStash) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{64} + return fileDescriptor_38fd6c203bede659, []int{72} } func (m *MsgStructBuildCompleteAndStash) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3695,7 +4049,7 @@ func (m *MsgStructDefenseSet) Reset() { *m = MsgStructDefenseSet{} } func (m *MsgStructDefenseSet) String() string { return proto.CompactTextString(m) } func (*MsgStructDefenseSet) ProtoMessage() {} func (*MsgStructDefenseSet) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{65} + return fileDescriptor_38fd6c203bede659, []int{73} } func (m *MsgStructDefenseSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3754,7 +4108,7 @@ func (m *MsgStructDefenseClear) Reset() { *m = MsgStructDefenseClear{} } func (m *MsgStructDefenseClear) String() string { return proto.CompactTextString(m) } func (*MsgStructDefenseClear) ProtoMessage() {} func (*MsgStructDefenseClear) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{66} + return fileDescriptor_38fd6c203bede659, []int{74} } func (m *MsgStructDefenseClear) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3809,7 +4163,7 @@ func (m *MsgStructMove) Reset() { *m = MsgStructMove{} } func (m *MsgStructMove) String() string { return proto.CompactTextString(m) } func (*MsgStructMove) ProtoMessage() {} func (*MsgStructMove) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{67} + return fileDescriptor_38fd6c203bede659, []int{75} } func (m *MsgStructMove) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3884,7 +4238,7 @@ func (m *MsgStructAttack) Reset() { *m = MsgStructAttack{} } func (m *MsgStructAttack) String() string { return proto.CompactTextString(m) } func (*MsgStructAttack) ProtoMessage() {} func (*MsgStructAttack) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{68} + return fileDescriptor_38fd6c203bede659, []int{76} } func (m *MsgStructAttack) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3948,7 +4302,7 @@ func (m *MsgStructAttackResponse) Reset() { *m = MsgStructAttackResponse func (m *MsgStructAttackResponse) String() string { return proto.CompactTextString(m) } func (*MsgStructAttackResponse) ProtoMessage() {} func (*MsgStructAttackResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{69} + return fileDescriptor_38fd6c203bede659, []int{77} } func (m *MsgStructAttackResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3986,7 +4340,7 @@ func (m *MsgStructStealthActivate) Reset() { *m = MsgStructStealthActiva func (m *MsgStructStealthActivate) String() string { return proto.CompactTextString(m) } func (*MsgStructStealthActivate) ProtoMessage() {} func (*MsgStructStealthActivate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{70} + return fileDescriptor_38fd6c203bede659, []int{78} } func (m *MsgStructStealthActivate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4038,7 +4392,7 @@ func (m *MsgStructStealthDeactivate) Reset() { *m = MsgStructStealthDeac func (m *MsgStructStealthDeactivate) String() string { return proto.CompactTextString(m) } func (*MsgStructStealthDeactivate) ProtoMessage() {} func (*MsgStructStealthDeactivate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{71} + return fileDescriptor_38fd6c203bede659, []int{79} } func (m *MsgStructStealthDeactivate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4091,7 +4445,7 @@ func (m *MsgStructGeneratorInfuse) Reset() { *m = MsgStructGeneratorInfu func (m *MsgStructGeneratorInfuse) String() string { return proto.CompactTextString(m) } func (*MsgStructGeneratorInfuse) ProtoMessage() {} func (*MsgStructGeneratorInfuse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{72} + return fileDescriptor_38fd6c203bede659, []int{80} } func (m *MsgStructGeneratorInfuse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4148,7 +4502,7 @@ func (m *MsgStructGeneratorStatusResponse) Reset() { *m = MsgStructGener func (m *MsgStructGeneratorStatusResponse) String() string { return proto.CompactTextString(m) } func (*MsgStructGeneratorStatusResponse) ProtoMessage() {} func (*MsgStructGeneratorStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{73} + return fileDescriptor_38fd6c203bede659, []int{81} } func (m *MsgStructGeneratorStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4188,7 +4542,7 @@ func (m *MsgStructOreMinerComplete) Reset() { *m = MsgStructOreMinerComp func (m *MsgStructOreMinerComplete) String() string { return proto.CompactTextString(m) } func (*MsgStructOreMinerComplete) ProtoMessage() {} func (*MsgStructOreMinerComplete) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{74} + return fileDescriptor_38fd6c203bede659, []int{82} } func (m *MsgStructOreMinerComplete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4253,7 +4607,7 @@ func (m *MsgStructOreMinerStatusResponse) Reset() { *m = MsgStructOreMin func (m *MsgStructOreMinerStatusResponse) String() string { return proto.CompactTextString(m) } func (*MsgStructOreMinerStatusResponse) ProtoMessage() {} func (*MsgStructOreMinerStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{75} + return fileDescriptor_38fd6c203bede659, []int{83} } func (m *MsgStructOreMinerStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4300,7 +4654,7 @@ func (m *MsgStructOreRefineryComplete) Reset() { *m = MsgStructOreRefine func (m *MsgStructOreRefineryComplete) String() string { return proto.CompactTextString(m) } func (*MsgStructOreRefineryComplete) ProtoMessage() {} func (*MsgStructOreRefineryComplete) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{76} + return fileDescriptor_38fd6c203bede659, []int{84} } func (m *MsgStructOreRefineryComplete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4365,7 +4719,7 @@ func (m *MsgStructOreRefineryStatusResponse) Reset() { *m = MsgStructOre func (m *MsgStructOreRefineryStatusResponse) String() string { return proto.CompactTextString(m) } func (*MsgStructOreRefineryStatusResponse) ProtoMessage() {} func (*MsgStructOreRefineryStatusResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{77} + return fileDescriptor_38fd6c203bede659, []int{85} } func (m *MsgStructOreRefineryStatusResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4413,7 +4767,7 @@ func (m *MsgStructStorageStash) Reset() { *m = MsgStructStorageStash{} } func (m *MsgStructStorageStash) String() string { return proto.CompactTextString(m) } func (*MsgStructStorageStash) ProtoMessage() {} func (*MsgStructStorageStash) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{78} + return fileDescriptor_38fd6c203bede659, []int{86} } func (m *MsgStructStorageStash) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4490,7 +4844,7 @@ func (m *MsgStructStorageRecall) Reset() { *m = MsgStructStorageRecall{} func (m *MsgStructStorageRecall) String() string { return proto.CompactTextString(m) } func (*MsgStructStorageRecall) ProtoMessage() {} func (*MsgStructStorageRecall) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{79} + return fileDescriptor_38fd6c203bede659, []int{87} } func (m *MsgStructStorageRecall) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4571,7 +4925,7 @@ func (m *MsgSubstationCreate) Reset() { *m = MsgSubstationCreate{} } func (m *MsgSubstationCreate) String() string { return proto.CompactTextString(m) } func (*MsgSubstationCreate) ProtoMessage() {} func (*MsgSubstationCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{80} + return fileDescriptor_38fd6c203bede659, []int{88} } func (m *MsgSubstationCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4629,7 +4983,7 @@ func (m *MsgSubstationCreateResponse) Reset() { *m = MsgSubstationCreate func (m *MsgSubstationCreateResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubstationCreateResponse) ProtoMessage() {} func (*MsgSubstationCreateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{81} + return fileDescriptor_38fd6c203bede659, []int{89} } func (m *MsgSubstationCreateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4675,7 +5029,7 @@ func (m *MsgSubstationDelete) Reset() { *m = MsgSubstationDelete{} } func (m *MsgSubstationDelete) String() string { return proto.CompactTextString(m) } func (*MsgSubstationDelete) ProtoMessage() {} func (*MsgSubstationDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{82} + return fileDescriptor_38fd6c203bede659, []int{90} } func (m *MsgSubstationDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4732,7 +5086,7 @@ func (m *MsgSubstationDeleteResponse) Reset() { *m = MsgSubstationDelete func (m *MsgSubstationDeleteResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubstationDeleteResponse) ProtoMessage() {} func (*MsgSubstationDeleteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{83} + return fileDescriptor_38fd6c203bede659, []int{91} } func (m *MsgSubstationDeleteResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4771,7 +5125,7 @@ func (m *MsgSubstationAllocationConnect) Reset() { *m = MsgSubstationAll func (m *MsgSubstationAllocationConnect) String() string { return proto.CompactTextString(m) } func (*MsgSubstationAllocationConnect) ProtoMessage() {} func (*MsgSubstationAllocationConnect) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{84} + return fileDescriptor_38fd6c203bede659, []int{92} } func (m *MsgSubstationAllocationConnect) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4830,7 +5184,7 @@ func (m *MsgSubstationAllocationConnectResponse) Reset() { func (m *MsgSubstationAllocationConnectResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubstationAllocationConnectResponse) ProtoMessage() {} func (*MsgSubstationAllocationConnectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{85} + return fileDescriptor_38fd6c203bede659, []int{93} } func (m *MsgSubstationAllocationConnectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4868,7 +5222,7 @@ func (m *MsgSubstationAllocationDisconnect) Reset() { *m = MsgSubstation func (m *MsgSubstationAllocationDisconnect) String() string { return proto.CompactTextString(m) } func (*MsgSubstationAllocationDisconnect) ProtoMessage() {} func (*MsgSubstationAllocationDisconnect) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{86} + return fileDescriptor_38fd6c203bede659, []int{94} } func (m *MsgSubstationAllocationDisconnect) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4922,7 +5276,7 @@ func (m *MsgSubstationAllocationDisconnectResponse) String() string { } func (*MsgSubstationAllocationDisconnectResponse) ProtoMessage() {} func (*MsgSubstationAllocationDisconnectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{87} + return fileDescriptor_38fd6c203bede659, []int{95} } func (m *MsgSubstationAllocationDisconnectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4961,7 +5315,7 @@ func (m *MsgSubstationPlayerConnect) Reset() { *m = MsgSubstationPlayerC func (m *MsgSubstationPlayerConnect) String() string { return proto.CompactTextString(m) } func (*MsgSubstationPlayerConnect) ProtoMessage() {} func (*MsgSubstationPlayerConnect) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{88} + return fileDescriptor_38fd6c203bede659, []int{96} } func (m *MsgSubstationPlayerConnect) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5018,7 +5372,7 @@ func (m *MsgSubstationPlayerConnectResponse) Reset() { *m = MsgSubstatio func (m *MsgSubstationPlayerConnectResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubstationPlayerConnectResponse) ProtoMessage() {} func (*MsgSubstationPlayerConnectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{89} + return fileDescriptor_38fd6c203bede659, []int{97} } func (m *MsgSubstationPlayerConnectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5056,7 +5410,7 @@ func (m *MsgSubstationPlayerDisconnect) Reset() { *m = MsgSubstationPlay func (m *MsgSubstationPlayerDisconnect) String() string { return proto.CompactTextString(m) } func (*MsgSubstationPlayerDisconnect) ProtoMessage() {} func (*MsgSubstationPlayerDisconnect) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{90} + return fileDescriptor_38fd6c203bede659, []int{98} } func (m *MsgSubstationPlayerDisconnect) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5106,7 +5460,7 @@ func (m *MsgSubstationPlayerDisconnectResponse) Reset() { *m = MsgSubsta func (m *MsgSubstationPlayerDisconnectResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubstationPlayerDisconnectResponse) ProtoMessage() {} func (*MsgSubstationPlayerDisconnectResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{91} + return fileDescriptor_38fd6c203bede659, []int{99} } func (m *MsgSubstationPlayerDisconnectResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5145,7 +5499,7 @@ func (m *MsgSubstationPlayerMigrate) Reset() { *m = MsgSubstationPlayerM func (m *MsgSubstationPlayerMigrate) String() string { return proto.CompactTextString(m) } func (*MsgSubstationPlayerMigrate) ProtoMessage() {} func (*MsgSubstationPlayerMigrate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{92} + return fileDescriptor_38fd6c203bede659, []int{100} } func (m *MsgSubstationPlayerMigrate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5202,7 +5556,7 @@ func (m *MsgSubstationPlayerMigrateResponse) Reset() { *m = MsgSubstatio func (m *MsgSubstationPlayerMigrateResponse) String() string { return proto.CompactTextString(m) } func (*MsgSubstationPlayerMigrateResponse) ProtoMessage() {} func (*MsgSubstationPlayerMigrateResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{93} + return fileDescriptor_38fd6c203bede659, []int{101} } func (m *MsgSubstationPlayerMigrateResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5242,7 +5596,7 @@ func (m *MsgAgreementOpen) Reset() { *m = MsgAgreementOpen{} } func (m *MsgAgreementOpen) String() string { return proto.CompactTextString(m) } func (*MsgAgreementOpen) ProtoMessage() {} func (*MsgAgreementOpen) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{94} + return fileDescriptor_38fd6c203bede659, []int{102} } func (m *MsgAgreementOpen) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5308,7 +5662,7 @@ func (m *MsgAgreementClose) Reset() { *m = MsgAgreementClose{} } func (m *MsgAgreementClose) String() string { return proto.CompactTextString(m) } func (*MsgAgreementClose) ProtoMessage() {} func (*MsgAgreementClose) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{95} + return fileDescriptor_38fd6c203bede659, []int{103} } func (m *MsgAgreementClose) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5361,7 +5715,7 @@ func (m *MsgAgreementCapacityIncrease) Reset() { *m = MsgAgreementCapaci func (m *MsgAgreementCapacityIncrease) String() string { return proto.CompactTextString(m) } func (*MsgAgreementCapacityIncrease) ProtoMessage() {} func (*MsgAgreementCapacityIncrease) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{96} + return fileDescriptor_38fd6c203bede659, []int{104} } func (m *MsgAgreementCapacityIncrease) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5421,7 +5775,7 @@ func (m *MsgAgreementCapacityDecrease) Reset() { *m = MsgAgreementCapaci func (m *MsgAgreementCapacityDecrease) String() string { return proto.CompactTextString(m) } func (*MsgAgreementCapacityDecrease) ProtoMessage() {} func (*MsgAgreementCapacityDecrease) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{97} + return fileDescriptor_38fd6c203bede659, []int{105} } func (m *MsgAgreementCapacityDecrease) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5481,7 +5835,7 @@ func (m *MsgAgreementDurationIncrease) Reset() { *m = MsgAgreementDurati func (m *MsgAgreementDurationIncrease) String() string { return proto.CompactTextString(m) } func (*MsgAgreementDurationIncrease) ProtoMessage() {} func (*MsgAgreementDurationIncrease) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{98} + return fileDescriptor_38fd6c203bede659, []int{106} } func (m *MsgAgreementDurationIncrease) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5538,7 +5892,7 @@ func (m *MsgAgreementResponse) Reset() { *m = MsgAgreementResponse{} } func (m *MsgAgreementResponse) String() string { return proto.CompactTextString(m) } func (*MsgAgreementResponse) ProtoMessage() {} func (*MsgAgreementResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{99} + return fileDescriptor_38fd6c203bede659, []int{107} } func (m *MsgAgreementResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5584,7 +5938,7 @@ func (m *MsgProviderCreate) Reset() { *m = MsgProviderCreate{} } func (m *MsgProviderCreate) String() string { return proto.CompactTextString(m) } func (*MsgProviderCreate) ProtoMessage() {} func (*MsgProviderCreate) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{100} + return fileDescriptor_38fd6c203bede659, []int{108} } func (m *MsgProviderCreate) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5679,7 +6033,7 @@ func (m *MsgProviderWithdrawBalance) Reset() { *m = MsgProviderWithdrawB func (m *MsgProviderWithdrawBalance) String() string { return proto.CompactTextString(m) } func (*MsgProviderWithdrawBalance) ProtoMessage() {} func (*MsgProviderWithdrawBalance) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{101} + return fileDescriptor_38fd6c203bede659, []int{109} } func (m *MsgProviderWithdrawBalance) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5739,7 +6093,7 @@ func (m *MsgProviderUpdateCapacityMinimum) Reset() { *m = MsgProviderUpd func (m *MsgProviderUpdateCapacityMinimum) String() string { return proto.CompactTextString(m) } func (*MsgProviderUpdateCapacityMinimum) ProtoMessage() {} func (*MsgProviderUpdateCapacityMinimum) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{102} + return fileDescriptor_38fd6c203bede659, []int{110} } func (m *MsgProviderUpdateCapacityMinimum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5799,7 +6153,7 @@ func (m *MsgProviderUpdateCapacityMaximum) Reset() { *m = MsgProviderUpd func (m *MsgProviderUpdateCapacityMaximum) String() string { return proto.CompactTextString(m) } func (*MsgProviderUpdateCapacityMaximum) ProtoMessage() {} func (*MsgProviderUpdateCapacityMaximum) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{103} + return fileDescriptor_38fd6c203bede659, []int{111} } func (m *MsgProviderUpdateCapacityMaximum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5859,7 +6213,7 @@ func (m *MsgProviderUpdateDurationMinimum) Reset() { *m = MsgProviderUpd func (m *MsgProviderUpdateDurationMinimum) String() string { return proto.CompactTextString(m) } func (*MsgProviderUpdateDurationMinimum) ProtoMessage() {} func (*MsgProviderUpdateDurationMinimum) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{104} + return fileDescriptor_38fd6c203bede659, []int{112} } func (m *MsgProviderUpdateDurationMinimum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5919,7 +6273,7 @@ func (m *MsgProviderUpdateDurationMaximum) Reset() { *m = MsgProviderUpd func (m *MsgProviderUpdateDurationMaximum) String() string { return proto.CompactTextString(m) } func (*MsgProviderUpdateDurationMaximum) ProtoMessage() {} func (*MsgProviderUpdateDurationMaximum) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{105} + return fileDescriptor_38fd6c203bede659, []int{113} } func (m *MsgProviderUpdateDurationMaximum) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5979,7 +6333,7 @@ func (m *MsgProviderUpdateAccessPolicy) Reset() { *m = MsgProviderUpdate func (m *MsgProviderUpdateAccessPolicy) String() string { return proto.CompactTextString(m) } func (*MsgProviderUpdateAccessPolicy) ProtoMessage() {} func (*MsgProviderUpdateAccessPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{106} + return fileDescriptor_38fd6c203bede659, []int{114} } func (m *MsgProviderUpdateAccessPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6039,7 +6393,7 @@ func (m *MsgProviderGuildGrant) Reset() { *m = MsgProviderGuildGrant{} } func (m *MsgProviderGuildGrant) String() string { return proto.CompactTextString(m) } func (*MsgProviderGuildGrant) ProtoMessage() {} func (*MsgProviderGuildGrant) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{107} + return fileDescriptor_38fd6c203bede659, []int{115} } func (m *MsgProviderGuildGrant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6099,7 +6453,7 @@ func (m *MsgProviderGuildRevoke) Reset() { *m = MsgProviderGuildRevoke{} func (m *MsgProviderGuildRevoke) String() string { return proto.CompactTextString(m) } func (*MsgProviderGuildRevoke) ProtoMessage() {} func (*MsgProviderGuildRevoke) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{108} + return fileDescriptor_38fd6c203bede659, []int{116} } func (m *MsgProviderGuildRevoke) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6158,7 +6512,7 @@ func (m *MsgProviderDelete) Reset() { *m = MsgProviderDelete{} } func (m *MsgProviderDelete) String() string { return proto.CompactTextString(m) } func (*MsgProviderDelete) ProtoMessage() {} func (*MsgProviderDelete) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{109} + return fileDescriptor_38fd6c203bede659, []int{117} } func (m *MsgProviderDelete) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6208,7 +6562,7 @@ func (m *MsgProviderResponse) Reset() { *m = MsgProviderResponse{} } func (m *MsgProviderResponse) String() string { return proto.CompactTextString(m) } func (*MsgProviderResponse) ProtoMessage() {} func (*MsgProviderResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_38fd6c203bede659, []int{110} + return fileDescriptor_38fd6c203bede659, []int{118} } func (m *MsgProviderResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6296,6 +6650,14 @@ func init() { proto.RegisterType((*MsgPlayerUpdatePrimaryAddressResponse)(nil), "structs.structs.MsgPlayerUpdatePrimaryAddressResponse") proto.RegisterType((*MsgPlayerResume)(nil), "structs.structs.MsgPlayerResume") proto.RegisterType((*MsgPlayerResumeResponse)(nil), "structs.structs.MsgPlayerResumeResponse") + proto.RegisterType((*MsgReactorInfuse)(nil), "structs.structs.MsgReactorInfuse") + proto.RegisterType((*MsgReactorInfuseResponse)(nil), "structs.structs.MsgReactorInfuseResponse") + proto.RegisterType((*MsgReactorBeginMigration)(nil), "structs.structs.MsgReactorBeginMigration") + proto.RegisterType((*MsgReactorBeginMigrationResponse)(nil), "structs.structs.MsgReactorBeginMigrationResponse") + proto.RegisterType((*MsgReactorDefuse)(nil), "structs.structs.MsgReactorDefuse") + proto.RegisterType((*MsgReactorDefuseResponse)(nil), "structs.structs.MsgReactorDefuseResponse") + proto.RegisterType((*MsgReactorCancelDefusion)(nil), "structs.structs.MsgReactorCancelDefusion") + proto.RegisterType((*MsgReactorCancelDefusionResponse)(nil), "structs.structs.MsgReactorCancelDefusionResponse") proto.RegisterType((*MsgStructStatusResponse)(nil), "structs.structs.MsgStructStatusResponse") proto.RegisterType((*MsgStructActivate)(nil), "structs.structs.MsgStructActivate") proto.RegisterType((*MsgStructDeactivate)(nil), "structs.structs.MsgStructDeactivate") @@ -6354,248 +6716,272 @@ func init() { func init() { proto.RegisterFile("structs/structs/tx.proto", fileDescriptor_38fd6c203bede659) } var fileDescriptor_38fd6c203bede659 = []byte{ - // 3847 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5c, 0x5b, 0x6f, 0x1c, 0xc7, - 0x95, 0x56, 0xf3, 0x22, 0x4b, 0x47, 0x14, 0x25, 0xb5, 0x2e, 0x1c, 0x8e, 0x24, 0x8a, 0x1a, 0x4b, - 0x94, 0x44, 0x91, 0x43, 0x91, 0xbe, 0x2c, 0xa0, 0x87, 0xdd, 0xe5, 0xc5, 0x2b, 0x70, 0x6d, 0x42, - 0xf4, 0x50, 0xb6, 0xd7, 0x32, 0xec, 0xdd, 0xe6, 0x4c, 0x71, 0xd8, 0x66, 0x4f, 0xf7, 0xb8, 0xbb, - 0x87, 0xd2, 0xec, 0xae, 0xad, 0x44, 0x76, 0xee, 0x40, 0xe0, 0x04, 0x01, 0x82, 0xdc, 0x01, 0x27, - 0x0f, 0x46, 0x9e, 0x84, 0xc4, 0x4f, 0x09, 0xf2, 0xee, 0x97, 0x24, 0x86, 0x11, 0x04, 0x81, 0x81, - 0x28, 0x81, 0x1d, 0x40, 0x7f, 0x23, 0xe8, 0xaa, 0xea, 0x9e, 0xae, 0xea, 0xea, 0xea, 0xea, 0x99, - 0xb1, 0xac, 0x17, 0x0d, 0xbb, 0xea, 0xd4, 0xf9, 0xbe, 0x53, 0xf7, 0x3a, 0x75, 0x4a, 0x50, 0xf0, - 0x7c, 0xb7, 0x55, 0xf5, 0xbd, 0xb9, 0xf0, 0xd7, 0xbf, 0x5d, 0x6e, 0xba, 0x8e, 0xef, 0xe8, 0x87, - 0x68, 0x4a, 0x99, 0xfe, 0x16, 0x8f, 0x18, 0x0d, 0xd3, 0x76, 0xe6, 0xf0, 0xbf, 0x44, 0xa6, 0x38, - 0x56, 0x75, 0xbc, 0x86, 0xe3, 0xcd, 0x35, 0xbc, 0xfa, 0xdc, 0xee, 0x7c, 0xf0, 0x43, 0x33, 0xc6, - 0x49, 0xc6, 0x7f, 0xe3, 0xaf, 0x39, 0xf2, 0x41, 0xb3, 0x8e, 0xd5, 0x9d, 0xba, 0x43, 0xd2, 0x83, - 0xbf, 0x68, 0xea, 0x29, 0x9e, 0x47, 0xd3, 0x70, 0x8d, 0x46, 0x58, 0x66, 0x82, 0xe2, 0x6c, 0x1a, - 0x1e, 0x9a, 0xdb, 0x9d, 0xdf, 0x44, 0xbe, 0x31, 0x3f, 0x57, 0x75, 0x4c, 0x9b, 0xe6, 0x17, 0xf9, - 0xd2, 0x3b, 0xa8, 0x1d, 0x96, 0x3d, 0xc9, 0xe7, 0x6d, 0x59, 0x08, 0xf9, 0x69, 0x99, 0xf5, 0x96, - 0x69, 0xd5, 0x52, 0x39, 0x59, 0x86, 0x1d, 0x15, 0x4d, 0xe4, 0x92, 0x5f, 0x92, 0x5b, 0xfa, 0xad, - 0x06, 0x87, 0xd6, 0xbc, 0xfa, 0x0b, 0xcd, 0x9a, 0xe1, 0xa3, 0x75, 0x6c, 0x8b, 0xfe, 0x34, 0xec, - 0x37, 0x5a, 0xfe, 0xb6, 0xe3, 0x9a, 0x7e, 0xbb, 0xa0, 0x4d, 0x6a, 0x17, 0xf7, 0x2f, 0x15, 0x3e, - 0xfe, 0x60, 0xf6, 0x18, 0xad, 0x9e, 0xc5, 0x5a, 0xcd, 0x45, 0x9e, 0xb7, 0xe1, 0xbb, 0xa6, 0x5d, - 0xaf, 0x74, 0x44, 0xf5, 0xab, 0xb0, 0x97, 0xd4, 0x46, 0x61, 0x60, 0x52, 0xbb, 0x78, 0x60, 0x61, - 0xac, 0xcc, 0x35, 0x4d, 0x99, 0x00, 0x2c, 0xed, 0xff, 0xf0, 0xfe, 0x99, 0x3d, 0xef, 0x3f, 0xb8, - 0x37, 0xad, 0x55, 0x68, 0x89, 0xab, 0x4f, 0xde, 0x7d, 0x70, 0x6f, 0xba, 0xa3, 0xeb, 0x9b, 0x0f, - 0xee, 0x4d, 0x9f, 0x0d, 0x09, 0xdf, 0x8e, 0xa8, 0x73, 0x4c, 0x4b, 0xe3, 0x30, 0xc6, 0x25, 0x55, - 0x90, 0xd7, 0x74, 0x6c, 0x0f, 0x95, 0xee, 0x6b, 0xa0, 0xaf, 0x79, 0x75, 0x4a, 0xb6, 0x82, 0xea, - 0xa6, 0xe7, 0x23, 0x57, 0x2f, 0xc0, 0x63, 0x55, 0x17, 0x19, 0xbe, 0xe3, 0x12, 0xcb, 0x2a, 0xe1, - 0xa7, 0x5e, 0x84, 0x7d, 0x4d, 0xcb, 0x68, 0x23, 0x77, 0xb5, 0x86, 0xf9, 0xef, 0xaf, 0x44, 0xdf, - 0x41, 0x29, 0x83, 0x28, 0x2a, 0x0c, 0x92, 0x52, 0xf4, 0x53, 0x9f, 0x84, 0x03, 0x4d, 0xd7, 0x71, - 0xb6, 0xd6, 0x5b, 0x9b, 0xcf, 0xa2, 0x76, 0x61, 0x08, 0xe7, 0xc6, 0x93, 0xf4, 0x29, 0x18, 0xc5, - 0x9f, 0x1b, 0x66, 0xdd, 0x36, 0xfc, 0x96, 0x8b, 0x0a, 0xc3, 0x58, 0x88, 0x4b, 0xc5, 0x9a, 0x90, - 0xdb, 0x30, 0x3d, 0xcf, 0x74, 0x6c, 0xaf, 0xb0, 0x77, 0x52, 0xbb, 0x38, 0x54, 0x89, 0x27, 0x5d, - 0x1d, 0x09, 0xea, 0x28, 0xe4, 0x5b, 0x3a, 0x05, 0xc5, 0xa4, 0x7d, 0x91, 0xf9, 0x37, 0xe0, 0x70, - 0x3c, 0x77, 0xd7, 0xd9, 0x41, 0x12, 0xdb, 0x63, 0xf6, 0x0d, 0x30, 0xf6, 0x71, 0x98, 0x45, 0x28, - 0xf0, 0x5a, 0x23, 0xc4, 0x7f, 0x68, 0x70, 0x34, 0xc8, 0xb4, 0x2c, 0xa7, 0x6a, 0xf8, 0xa6, 0x63, - 0x2f, 0x07, 0x85, 0x64, 0xa8, 0x13, 0x00, 0x55, 0xc7, 0xf6, 0x5d, 0xc7, 0xb2, 0x90, 0x4b, 0x81, - 0x63, 0x29, 0x41, 0xcd, 0x79, 0x4e, 0xcb, 0xad, 0xa2, 0xeb, 0x9b, 0xaf, 0xa3, 0xaa, 0xbf, 0x5a, - 0xa3, 0x95, 0xcf, 0xa5, 0xea, 0xd7, 0x60, 0xd4, 0x88, 0x50, 0x6f, 0xb4, 0x9b, 0x08, 0x37, 0xc3, - 0xe8, 0xc2, 0x99, 0x44, 0xff, 0x63, 0xc5, 0x2a, 0x5c, 0x31, 0xfd, 0x18, 0x0c, 0x37, 0x9d, 0x5b, - 0xc8, 0xc5, 0x2d, 0x34, 0x54, 0x21, 0x1f, 0x5c, 0x15, 0x2c, 0xc2, 0x49, 0x81, 0x95, 0x61, 0x2d, - 0xe8, 0x25, 0x18, 0xe9, 0x28, 0x5d, 0xad, 0x51, 0x93, 0x99, 0xb4, 0x92, 0xc1, 0x55, 0xd4, 0x0a, - 0xb2, 0x90, 0xb4, 0xa2, 0x78, 0xa5, 0x03, 0x49, 0xa5, 0x19, 0x2c, 0x09, 0x44, 0x2e, 0x96, 0xb7, - 0x38, 0x96, 0x64, 0x94, 0xf5, 0xc6, 0xb2, 0x53, 0xc3, 0x83, 0xea, 0x35, 0x4c, 0x80, 0x73, 0x71, - 0x7f, 0x5b, 0x83, 0xe3, 0x8c, 0x8e, 0x1b, 0xae, 0x61, 0x7b, 0x5b, 0xd2, 0xf1, 0xaf, 0x42, 0x9f, - 0xed, 0xb1, 0x83, 0x7c, 0x8f, 0xe5, 0x0c, 0x59, 0x86, 0xd3, 0x42, 0x12, 0xb9, 0x4c, 0xf9, 0xaa, - 0x06, 0x23, 0x6b, 0x5e, 0xfd, 0x3f, 0x82, 0xc5, 0x60, 0xcd, 0xd9, 0xcd, 0x18, 0xc5, 0x78, 0xcd, - 0x88, 0xc8, 0x87, 0x9f, 0xfa, 0x93, 0x70, 0xbc, 0x86, 0x3c, 0xdf, 0xb4, 0xb1, 0xd6, 0xe7, 0x3a, - 0x88, 0xc4, 0x04, 0x71, 0x26, 0x67, 0xcd, 0x0a, 0x1c, 0x8b, 0xf3, 0x88, 0x8c, 0x98, 0x81, 0x61, - 0x0c, 0x83, 0xd9, 0x1c, 0x58, 0x38, 0x91, 0x18, 0x74, 0xb8, 0x48, 0x85, 0x08, 0x95, 0xde, 0xc2, - 0xf3, 0xd2, 0xb5, 0x60, 0xf5, 0x5a, 0x32, 0xec, 0x9d, 0x35, 0xd3, 0xf6, 0x25, 0x16, 0x4d, 0xc2, - 0x01, 0xa3, 0xe1, 0xb4, 0x6c, 0x7f, 0xd1, 0x6a, 0x6e, 0x1b, 0xd8, 0xaa, 0xa1, 0x4a, 0x3c, 0xa9, - 0x23, 0x71, 0xc3, 0xd9, 0x41, 0x36, 0xed, 0x56, 0xf1, 0x24, 0xe1, 0x0c, 0xc6, 0xe0, 0x47, 0x33, - 0xd8, 0x3d, 0xb2, 0x64, 0x44, 0x99, 0x15, 0x54, 0x43, 0xa8, 0x21, 0xa1, 0xe7, 0xb2, 0xe0, 0x64, - 0xd5, 0x1b, 0x2f, 0xd3, 0x75, 0x32, 0xd8, 0x04, 0x94, 0xe9, 0x26, 0xa0, 0xbc, 0xec, 0x98, 0xf6, - 0xd2, 0x53, 0xc1, 0xba, 0xf7, 0xcb, 0xbf, 0x9d, 0xb9, 0x58, 0x37, 0xfd, 0xed, 0xd6, 0x66, 0xb9, - 0xea, 0x34, 0xe8, 0x9e, 0x83, 0xfe, 0xcc, 0x7a, 0xb5, 0x9d, 0x39, 0xbf, 0xdd, 0x44, 0x1e, 0x2e, - 0xe0, 0x91, 0x35, 0x52, 0x62, 0x0e, 0x59, 0x04, 0x38, 0xc6, 0x91, 0x41, 0x6f, 0x6b, 0xb8, 0x07, - 0x46, 0xd9, 0xcb, 0x8e, 0xbd, 0x65, 0x7a, 0x55, 0xc3, 0x47, 0x8b, 0x76, 0x6d, 0xa9, 0xe5, 0xda, - 0xdd, 0x2c, 0x09, 0xb9, 0xab, 0xfc, 0x02, 0x9c, 0x97, 0x92, 0x88, 0xe8, 0xde, 0xd5, 0x60, 0x34, - 0x94, 0xcc, 0x5c, 0x3c, 0x8a, 0xb0, 0x0f, 0xd9, 0xb5, 0xa6, 0x63, 0xda, 0x7e, 0xb8, 0x5c, 0x87, - 0xdf, 0xfa, 0x0c, 0x1c, 0x41, 0xb6, 0xef, 0xb6, 0x37, 0x5a, 0x9b, 0x9e, 0xcf, 0x76, 0xf5, 0x64, - 0x06, 0xc7, 0x76, 0x01, 0x4e, 0xb0, 0x1c, 0xa2, 0x8e, 0x5e, 0x80, 0xc7, 0xf0, 0xae, 0x2b, 0x1a, - 0xa8, 0xe1, 0x67, 0xc9, 0xc1, 0xb3, 0x0d, 0x2e, 0x43, 0x26, 0xab, 0xeb, 0xb7, 0xec, 0x70, 0xdf, - 0x90, 0x5e, 0xbd, 0xa1, 0xb2, 0x01, 0x46, 0x59, 0x30, 0x45, 0x3a, 0x41, 0x71, 0x4a, 0x98, 0x7c, - 0x70, 0x24, 0xbf, 0xa3, 0xc1, 0x19, 0x16, 0xf1, 0x19, 0xde, 0xac, 0xae, 0xb0, 0x7b, 0xa9, 0xb8, - 0xdd, 0x4e, 0xc5, 0x85, 0x94, 0x68, 0x73, 0x74, 0xc3, 0x24, 0xde, 0xbc, 0x83, 0x6c, 0xf3, 0x72, - 0xb8, 0xdf, 0xd7, 0xe0, 0x2c, 0x0b, 0xfc, 0x9f, 0x8e, 0x69, 0xaf, 0xda, 0x5b, 0xad, 0x60, 0xd7, - 0xb4, 0x66, 0xda, 0x66, 0xa3, 0xd5, 0xe8, 0x8a, 0xc3, 0x15, 0x38, 0xfa, 0x7a, 0x52, 0x15, 0xed, - 0xf0, 0xa2, 0x2c, 0x8e, 0xd9, 0x1f, 0x35, 0xb8, 0x92, 0xc9, 0x6c, 0xa9, 0xdd, 0x34, 0x3c, 0x6f, - 0xa9, 0x5d, 0x41, 0x6f, 0xb4, 0x90, 0xd7, 0x5d, 0x65, 0xbd, 0x0c, 0xc7, 0xf0, 0x9f, 0x81, 0x7a, - 0xa2, 0xef, 0x39, 0xb4, 0x8b, 0x2c, 0xcc, 0x74, 0x74, 0xe1, 0x7c, 0x62, 0x46, 0x16, 0x09, 0x57, - 0x84, 0x2a, 0x38, 0x8b, 0xfe, 0xa0, 0xc1, 0x9c, 0xb2, 0x45, 0xab, 0xf6, 0xae, 0xe9, 0xa3, 0x47, - 0xdb, 0xa0, 0x02, 0xdf, 0x69, 0xa3, 0xc9, 0xe8, 0xc7, 0x5a, 0x67, 0xa5, 0x58, 0x43, 0x8d, 0x4d, - 0xe4, 0x7a, 0xdb, 0x66, 0xb3, 0x07, 0x9b, 0xe2, 0xe7, 0x8b, 0x41, 0xee, 0x7c, 0x51, 0x82, 0x11, - 0x2f, 0x3e, 0xe4, 0xc8, 0x31, 0x82, 0x49, 0xe3, 0x88, 0xff, 0x3c, 0x36, 0x03, 0xf0, 0xf4, 0x16, - 0x9b, 0x4d, 0x37, 0x73, 0xa7, 0xf0, 0x50, 0x58, 0xfe, 0x3f, 0x9c, 0x4a, 0x23, 0xb9, 0x82, 0xec, - 0x76, 0xbf, 0x19, 0x72, 0xe8, 0x6f, 0xc1, 0x44, 0x1a, 0xba, 0xca, 0x89, 0xa8, 0x67, 0xfc, 0xdf, - 0x68, 0x9d, 0xde, 0xd5, 0x21, 0x10, 0x74, 0xc8, 0x2f, 0xa2, 0x69, 0x82, 0xcd, 0xab, 0x49, 0x47, - 0xea, 0x6a, 0xad, 0x30, 0x3c, 0x39, 0x18, 0x6c, 0x5e, 0x3b, 0x29, 0x1c, 0xf9, 0xdf, 0x6b, 0x78, - 0x1b, 0x2e, 0x20, 0xbf, 0xee, 0x3a, 0xb7, 0xdb, 0x5d, 0xed, 0x1c, 0x78, 0x96, 0x83, 0x02, 0x96, - 0x7d, 0x3b, 0x50, 0xa7, 0x2f, 0x4f, 0x1d, 0x73, 0x9e, 0x35, 0xab, 0x3b, 0x9f, 0x73, 0x27, 0xf8, - 0x89, 0x06, 0xe3, 0x49, 0xe0, 0x5e, 0x66, 0xfb, 0xfe, 0x0e, 0xd1, 0x5f, 0x68, 0x30, 0x99, 0xca, - 0xef, 0xd1, 0x99, 0x49, 0xde, 0xec, 0xec, 0x64, 0x13, 0x2c, 0x1f, 0xc2, 0x54, 0x72, 0x47, 0x34, - 0xdb, 0x52, 0xf8, 0x87, 0x32, 0x97, 0x7c, 0x43, 0xeb, 0xec, 0xf4, 0xe3, 0x0c, 0xe8, 0xde, 0x74, - 0x07, 0x8a, 0x75, 0x36, 0x6b, 0xb1, 0xd9, 0xb4, 0x4c, 0x72, 0x94, 0xa3, 0x27, 0xb3, 0xcb, 0x89, - 0x65, 0xf3, 0x5a, 0x6a, 0x91, 0x8a, 0x44, 0x5d, 0xe9, 0xa7, 0x84, 0xcb, 0x7a, 0xe4, 0x9a, 0xba, - 0xe6, 0x1a, 0xb6, 0x7f, 0xdd, 0x26, 0x0e, 0x19, 0xf9, 0x9e, 0xdd, 0x09, 0x5d, 0x39, 0x74, 0xcf, - 0x1e, 0x7e, 0x4b, 0xbb, 0x0b, 0xe7, 0x1a, 0x1b, 0xca, 0x72, 0x8d, 0x7d, 0x99, 0xcc, 0x5d, 0x09, - 0x82, 0xd4, 0x71, 0xd5, 0xed, 0xa9, 0x27, 0xce, 0x61, 0x30, 0x8b, 0xc3, 0xcf, 0x78, 0x0e, 0xa4, - 0x9b, 0x3c, 0x42, 0xb5, 0x74, 0x57, 0xc3, 0xab, 0x73, 0x92, 0xe1, 0xc3, 0xac, 0x26, 0xba, 0xcd, - 0xea, 0x90, 0xd8, 0x40, 0x8f, 0x52, 0x4f, 0xba, 0x83, 0x27, 0x6f, 0x8e, 0xdd, 0xc3, 0xac, 0x9f, - 0x31, 0x7c, 0xb4, 0x8c, 0xb7, 0x11, 0xdd, 0x9f, 0xbe, 0x88, 0x1d, 0x29, 0xeb, 0xd8, 0xd3, 0xff, - 0xcc, 0xed, 0xa6, 0xe5, 0xb8, 0xa8, 0x3b, 0xe7, 0x36, 0x07, 0xf8, 0x3c, 0x69, 0x8f, 0xb8, 0xde, - 0x68, 0x96, 0x79, 0x0a, 0xf6, 0x92, 0xab, 0x05, 0x3a, 0xa3, 0x08, 0x1c, 0xfc, 0x38, 0x7b, 0x69, - 0xe8, 0xc3, 0xfb, 0x67, 0xf6, 0x54, 0xa8, 0x70, 0xe9, 0x2b, 0xc4, 0x1b, 0x47, 0xf2, 0x2a, 0x86, - 0x59, 0x5b, 0x76, 0x1a, 0xcd, 0x0c, 0x97, 0x67, 0xba, 0x2f, 0xeb, 0x18, 0x0c, 0xe3, 0x85, 0x3e, - 0x3c, 0x1f, 0xe3, 0x8f, 0x20, 0xd5, 0x76, 0xec, 0x2a, 0xa2, 0x4b, 0x09, 0xf9, 0xe0, 0x4c, 0x7b, - 0x9f, 0xb8, 0x43, 0x92, 0x3c, 0x22, 0x03, 0x17, 0x94, 0x7c, 0x59, 0xd4, 0x3c, 0x22, 0x1a, 0xab, - 0x94, 0x81, 0x1c, 0x95, 0xa2, 0x9f, 0x82, 0xfd, 0x8e, 0x8b, 0x36, 0x7c, 0xc7, 0x8a, 0x7c, 0x28, - 0x9d, 0x84, 0xd2, 0xb7, 0x22, 0xaa, 0x6d, 0xe4, 0xd2, 0xfb, 0x0d, 0xd7, 0x6c, 0x18, 0x6e, 0x3b, - 0xbb, 0xf3, 0xc9, 0x2e, 0x32, 0xf0, 0xde, 0x29, 0xae, 0x27, 0x74, 0xa9, 0xb3, 0xa9, 0x42, 0x0f, - 0x4e, 0x3a, 0x99, 0xa8, 0x53, 0xbe, 0x80, 0x2f, 0x93, 0x88, 0x60, 0x05, 0x79, 0xad, 0x46, 0x7f, - 0xfa, 0x24, 0xb9, 0xe6, 0x89, 0xab, 0x8d, 0x10, 0xd7, 0x71, 0xd6, 0x06, 0xae, 0xe9, 0x0d, 0xdf, - 0xf0, 0x5b, 0x5e, 0xbc, 0xb7, 0x92, 0x16, 0x48, 0xed, 0xad, 0xa4, 0x58, 0xd8, 0x30, 0x24, 0xb5, - 0xf4, 0x12, 0x1c, 0x89, 0x34, 0x2e, 0x56, 0x7d, 0x73, 0x37, 0xd3, 0x0f, 0x45, 0x0a, 0x76, 0xac, - 0x08, 0xbf, 0x39, 0x2b, 0x5e, 0xc6, 0x0e, 0x75, 0xa2, 0x78, 0x05, 0x19, 0xfd, 0x54, 0xfd, 0x27, - 0x72, 0xd2, 0xa0, 0xf6, 0xe0, 0xcd, 0x85, 0x6d, 0xfa, 0x66, 0xa6, 0xfa, 0xd4, 0x7e, 0x12, 0x6c, - 0xd0, 0xb0, 0xb2, 0x1b, 0xed, 0x26, 0xa2, 0xf3, 0xe8, 0x50, 0x85, 0x49, 0xd3, 0xff, 0x15, 0x46, - 0x9d, 0x26, 0x72, 0x0d, 0xdf, 0xb4, 0xeb, 0x8b, 0x8d, 0x4d, 0xd3, 0xa7, 0xd7, 0x2e, 0xc9, 0x51, - 0x63, 0x04, 0xb9, 0x15, 0x4e, 0x5a, 0xd7, 0x61, 0xc8, 0xb3, 0x1c, 0x9f, 0x5e, 0xb6, 0xe0, 0xbf, - 0x39, 0xb3, 0xbe, 0x9e, 0x30, 0x4b, 0x61, 0xe6, 0x90, 0xd4, 0x5a, 0x0f, 0x73, 0xc7, 0x4d, 0xec, - 0xfd, 0x8e, 0x33, 0x31, 0xec, 0x2a, 0xb2, 0xfa, 0xd2, 0x7a, 0xef, 0x0d, 0xe0, 0x83, 0xaa, 0xc0, - 0xcc, 0x45, 0xbb, 0xb6, 0xe1, 0x1b, 0xde, 0xf6, 0xe7, 0x6f, 0xae, 0xbe, 0x00, 0xc7, 0x3c, 0xdf, - 0x71, 0x8d, 0x3a, 0x5a, 0xe9, 0x5c, 0x06, 0xe0, 0x73, 0x62, 0x20, 0x24, 0xcc, 0xd3, 0xaf, 0x06, - 0xbd, 0x04, 0xa7, 0x93, 0xf6, 0xdf, 0x2b, 0x6d, 0x7f, 0x46, 0x36, 0x58, 0x08, 0xe9, 0xf7, 0x46, - 0xd0, 0x09, 0x1e, 0x23, 0x0b, 0x61, 0x2c, 0x29, 0xe9, 0xe6, 0x8b, 0x0f, 0x9f, 0x2d, 0x64, 0x7b, - 0x68, 0x03, 0xc9, 0xf6, 0x08, 0xd3, 0x70, 0xb8, 0x16, 0xc8, 0xd5, 0x90, 0xbb, 0xc1, 0xd6, 0x50, - 0x22, 0x5d, 0x9f, 0x81, 0x23, 0x4d, 0xd7, 0xf1, 0x51, 0xd5, 0x47, 0xb5, 0x48, 0x98, 0x3a, 0x3e, - 0x13, 0x19, 0x1c, 0xb3, 0x1d, 0xbc, 0xba, 0x31, 0xc4, 0x96, 0x2d, 0x64, 0xb8, 0xfd, 0xa1, 0xc6, - 0x81, 0xfd, 0x59, 0x83, 0x83, 0x11, 0x5a, 0xc6, 0x7d, 0x90, 0xac, 0x6b, 0xfc, 0x1b, 0x8c, 0x08, - 0x6e, 0x4c, 0x4f, 0x26, 0x9a, 0x8e, 0xec, 0xaa, 0xf0, 0x6d, 0x29, 0x53, 0x40, 0x9f, 0x81, 0x61, - 0xdc, 0xac, 0xb8, 0x83, 0xa4, 0x37, 0x3a, 0x11, 0x8a, 0xc6, 0xfa, 0xde, 0xd4, 0xb1, 0xfe, 0x6b, - 0x12, 0x88, 0x40, 0xe7, 0x5d, 0xdf, 0x37, 0xa4, 0x27, 0xf3, 0x19, 0x38, 0x12, 0xcd, 0x26, 0x5c, - 0x0d, 0x26, 0x33, 0x82, 0x55, 0xcf, 0x37, 0xdc, 0x3a, 0xf2, 0x63, 0x4d, 0x3b, 0x18, 0xac, 0x7a, - 0x6c, 0x6a, 0x30, 0xeb, 0xdd, 0x42, 0x46, 0xd3, 0xb1, 0x37, 0xda, 0x9e, 0x8f, 0x1a, 0xe1, 0xb1, - 0x34, 0x9e, 0x26, 0x5c, 0x99, 0xe2, 0xa4, 0xa3, 0x95, 0xe9, 0x35, 0xbc, 0x91, 0x0a, 0x57, 0x26, - 0x64, 0x58, 0xfe, 0x76, 0x5f, 0x97, 0x93, 0xff, 0xc1, 0x87, 0x30, 0x46, 0x7f, 0x9f, 0x57, 0x95, - 0xbb, 0x5a, 0xcc, 0x84, 0x6b, 0xc8, 0x0e, 0xaa, 0xd5, 0x71, 0xb1, 0xb7, 0xb7, 0xdb, 0x6e, 0x57, - 0x82, 0x11, 0xec, 0x71, 0x42, 0x8b, 0xf8, 0xba, 0x28, 0xf4, 0x00, 0xc5, 0xd3, 0x38, 0x12, 0x25, - 0xec, 0x9e, 0xe0, 0x38, 0xb0, 0x2b, 0x7d, 0xb0, 0x5b, 0x1a, 0x8f, 0x84, 0xae, 0xbb, 0x68, 0xcd, - 0xb4, 0x91, 0xfb, 0x85, 0x2d, 0x15, 0xff, 0x85, 0x7d, 0x05, 0x2c, 0x99, 0xfe, 0x6c, 0x4d, 0xbe, - 0x4d, 0x4e, 0x6c, 0x91, 0xea, 0x0a, 0xda, 0x0a, 0x94, 0xb7, 0xbf, 0x30, 0x53, 0x5f, 0x81, 0x92, - 0x88, 0x4f, 0x7f, 0xac, 0xfd, 0x9d, 0x16, 0x9b, 0x58, 0x37, 0xe8, 0xc2, 0xd0, 0xc3, 0x6a, 0x38, - 0x01, 0x60, 0xf1, 0x37, 0xdf, 0xb1, 0x94, 0xce, 0x8c, 0x36, 0x94, 0x67, 0x46, 0x4b, 0xdf, 0xbd, - 0x7c, 0x12, 0xdf, 0xbd, 0x50, 0xfe, 0x15, 0x54, 0x35, 0x2c, 0xeb, 0x51, 0x35, 0x20, 0x40, 0x0f, - 0x67, 0x10, 0x3c, 0x55, 0xef, 0xab, 0x44, 0xdf, 0x9c, 0x71, 0x24, 0x3a, 0xa4, 0x73, 0x1d, 0x98, - 0x79, 0x5f, 0x1b, 0x5d, 0x6b, 0x0e, 0xc4, 0xae, 0x35, 0x13, 0x11, 0x10, 0x83, 0x8a, 0x91, 0x2d, - 0x3c, 0x70, 0x3c, 0xa4, 0x82, 0xf1, 0x2c, 0x6a, 0x49, 0xcf, 0x62, 0xb4, 0x95, 0x88, 0xd2, 0x54, - 0x02, 0x70, 0x18, 0xad, 0x03, 0x02, 0xc7, 0xf5, 0x93, 0x70, 0xbc, 0x61, 0xd6, 0x5d, 0xfc, 0x29, - 0xb8, 0x3f, 0x15, 0x67, 0x72, 0xc6, 0x9d, 0xe6, 0x8c, 0x63, 0xc3, 0x76, 0x4a, 0xdf, 0xd5, 0xc8, - 0x46, 0x31, 0xca, 0x8f, 0x85, 0x21, 0x39, 0xb6, 0x2d, 0x77, 0x99, 0xa8, 0xc4, 0xb7, 0x9c, 0x83, - 0x83, 0x35, 0x66, 0xf7, 0x47, 0xb8, 0xb3, 0x89, 0x1c, 0xe7, 0x8b, 0x30, 0x25, 0xe7, 0x14, 0xd1, - 0x77, 0xf0, 0x45, 0xad, 0x48, 0x72, 0xc5, 0xf4, 0xaa, 0xfd, 0x30, 0x80, 0xa3, 0x76, 0x19, 0x2e, - 0x65, 0x02, 0x46, 0xec, 0xde, 0x21, 0x5e, 0xcd, 0x8e, 0x34, 0x39, 0x6f, 0x2a, 0x55, 0x6c, 0x66, - 0xe7, 0x50, 0x77, 0xf4, 0x9e, 0x23, 0x53, 0xaa, 0x98, 0x45, 0x44, 0xb6, 0x8a, 0xdd, 0x03, 0xbc, - 0x94, 0x52, 0x35, 0xaa, 0x1f, 0xbb, 0xc9, 0xb1, 0x3f, 0x1d, 0x24, 0xab, 0xea, 0xd6, 0x70, 0x8f, - 0x47, 0x7d, 0xad, 0xba, 0xc1, 0xdc, 0x55, 0x47, 0x59, 0xc4, 0x07, 0x11, 0x0e, 0x8d, 0xac, 0xbb, - 0x08, 0x35, 0x90, 0xed, 0x5f, 0x6f, 0x22, 0x5b, 0x1e, 0xa4, 0xd8, 0x74, 0x9d, 0x5d, 0xb3, 0x16, - 0xab, 0xb0, 0x58, 0x4a, 0x40, 0xaf, 0xd6, 0x22, 0x03, 0x9b, 0x9e, 0x92, 0xa3, 0xef, 0x20, 0xaf, - 0x6a, 0x34, 0x8d, 0xaa, 0xe9, 0xb7, 0xa9, 0xab, 0x31, 0xfa, 0xe6, 0xa8, 0xbf, 0x8a, 0x9d, 0x0e, - 0x11, 0xa7, 0x65, 0xcb, 0x91, 0x6e, 0xb1, 0x26, 0xe1, 0x80, 0x11, 0xca, 0x46, 0xac, 0xe2, 0x49, - 0x9c, 0xfa, 0xef, 0x91, 0x8d, 0x43, 0x47, 0x3f, 0x65, 0xb1, 0x6a, 0x07, 0x12, 0xbd, 0x41, 0x05, - 0x87, 0x99, 0x2a, 0xa7, 0x8f, 0xd6, 0x44, 0x22, 0x5d, 0x91, 0xd6, 0x0a, 0xea, 0x2f, 0xad, 0x50, - 0x1f, 0x4f, 0x2b, 0x4c, 0xcf, 0xa0, 0xb5, 0x42, 0xdb, 0xb3, 0x5f, 0xb5, 0x55, 0xe3, 0xf4, 0x85, - 0xb4, 0xf8, 0x74, 0x8e, 0xd6, 0x09, 0xec, 0x82, 0x88, 0x58, 0x45, 0x1d, 0xfa, 0xbd, 0x61, 0xdc, - 0x79, 0xd6, 0x69, 0x9f, 0xcc, 0x5c, 0x89, 0x55, 0x06, 0x5d, 0x0d, 0x86, 0x82, 0x41, 0x83, 0x99, - 0x7d, 0x1e, 0x21, 0x6d, 0x58, 0xbb, 0xbe, 0x0a, 0x23, 0x46, 0xb5, 0x8a, 0x3c, 0x6f, 0xdd, 0xb1, - 0xcc, 0x6a, 0x9b, 0xee, 0x5b, 0x92, 0xe1, 0x1d, 0xe1, 0x70, 0x5b, 0x8c, 0x09, 0x57, 0x98, 0xa2, - 0xba, 0x07, 0x27, 0x43, 0x29, 0xe2, 0x99, 0xb1, 0xc8, 0x14, 0x80, 0x6c, 0xc3, 0xf2, 0xdb, 0xc4, - 0x8b, 0xb1, 0x34, 0x1f, 0x90, 0xfd, 0xe4, 0xfe, 0x99, 0x93, 0x84, 0x9a, 0x57, 0xdb, 0x29, 0x9b, - 0xce, 0x5c, 0xc3, 0xf0, 0xb7, 0xcb, 0xcf, 0xa1, 0xba, 0x51, 0x0d, 0x3a, 0xc4, 0xc7, 0x1f, 0xcc, - 0x02, 0xb5, 0x76, 0x05, 0x55, 0x2b, 0x32, 0xad, 0x01, 0x68, 0xd5, 0xb1, 0xbd, 0x56, 0x43, 0x0c, - 0xba, 0xb7, 0x6b, 0x50, 0x89, 0x56, 0xfd, 0x22, 0x1c, 0x0a, 0xfb, 0x6f, 0x18, 0x91, 0x44, 0x9c, - 0x27, 0x7c, 0x32, 0x23, 0x69, 0xdc, 0xc6, 0x92, 0xfb, 0x38, 0x49, 0x92, 0x1c, 0x48, 0x86, 0x9d, - 0x2f, 0xd4, 0xb9, 0x9f, 0x48, 0x72, 0xc9, 0x8c, 0x24, 0xd5, 0x09, 0x9c, 0x24, 0x49, 0x4e, 0x8e, - 0xa9, 0x62, 0xac, 0x93, 0xbe, 0x64, 0xfa, 0xdb, 0x35, 0xd7, 0xb8, 0xb5, 0x64, 0x58, 0x81, 0x89, - 0x3d, 0xcc, 0xbf, 0x65, 0xd0, 0x63, 0xbb, 0x13, 0xd6, 0xab, 0x2d, 0xc8, 0xe1, 0x68, 0xfd, 0x90, - 0xdc, 0x7e, 0x87, 0xb4, 0x88, 0x73, 0x7b, 0x99, 0xab, 0xc7, 0x9e, 0xc8, 0xd9, 0xe8, 0x16, 0xd5, - 0x13, 0xaa, 0xa5, 0xc3, 0x5d, 0x90, 0x93, 0x8b, 0x1c, 0x6d, 0xba, 0x9e, 0xc9, 0x11, 0x3d, 0x22, - 0x72, 0x6c, 0x8e, 0x0a, 0xb9, 0x15, 0xae, 0xb7, 0xf4, 0xa9, 0xe6, 0x56, 0xd8, 0x05, 0x56, 0x90, - 0x93, 0x8b, 0x5c, 0x7f, 0x6b, 0x4e, 0x44, 0x8e, 0xcd, 0xe1, 0xc8, 0xfd, 0x8a, 0xde, 0xed, 0x30, - 0xe4, 0xe2, 0x53, 0x5b, 0x0f, 0xcc, 0xf8, 0x19, 0x75, 0xb0, 0xeb, 0x19, 0x95, 0x23, 0xdd, 0x26, - 0x57, 0x78, 0xb4, 0x18, 0x0e, 0x1c, 0xc0, 0x97, 0xea, 0x3d, 0x70, 0x8d, 0x85, 0x45, 0x90, 0x7d, - 0x5d, 0xf8, 0xc9, 0x41, 0xff, 0x2f, 0x3e, 0x46, 0x33, 0xd0, 0x99, 0x21, 0x17, 0xfd, 0xc2, 0x7e, - 0x85, 0x59, 0x5a, 0x33, 0xcf, 0x89, 0x19, 0xb0, 0x9c, 0xf2, 0xe3, 0xf8, 0x18, 0x1a, 0x2a, 0x0f, - 0xd7, 0xf3, 0x85, 0xbf, 0x2e, 0xc2, 0xe0, 0x9a, 0x57, 0xd7, 0x6f, 0xc2, 0x08, 0xf3, 0x2c, 0x6b, - 0x32, 0xd1, 0x8a, 0xdc, 0xdb, 0xa7, 0xe2, 0xc5, 0x2c, 0x89, 0xe8, 0x98, 0x5c, 0x85, 0x43, 0xfc, - 0xcb, 0xa8, 0xc7, 0x45, 0x85, 0x39, 0xa1, 0xe2, 0x65, 0x05, 0xa1, 0x08, 0xe4, 0x55, 0x38, 0xc8, - 0x3e, 0x40, 0x3a, 0x2b, 0x2d, 0x1d, 0x88, 0x14, 0x2f, 0x65, 0x8a, 0x44, 0xea, 0x5f, 0x86, 0x83, - 0xec, 0x26, 0x5e, 0xac, 0x3e, 0x2e, 0x52, 0x3c, 0x2f, 0x15, 0x89, 0x54, 0xbf, 0x02, 0xa3, 0xdc, - 0x5e, 0xbc, 0x24, 0x2d, 0x88, 0x65, 0x54, 0x95, 0xbf, 0x01, 0xe3, 0xe9, 0x1b, 0xf1, 0x59, 0x39, - 0x0e, 0x27, 0xde, 0x0b, 0x64, 0xb4, 0xc9, 0x56, 0x83, 0x0c, 0xc5, 0xbb, 0x81, 0x4c, 0x6c, 0xa0, - 0xe5, 0x90, 0xbc, 0xb8, 0x2a, 0xe4, 0x16, 0x1c, 0x4e, 0xbc, 0x3e, 0x3b, 0x27, 0x2c, 0xca, 0x49, - 0x15, 0x67, 0x54, 0xa4, 0xc4, 0x38, 0x74, 0x4e, 0xc8, 0xc0, 0x21, 0x52, 0x59, 0x38, 0xdc, 0x2b, - 0x2d, 0x06, 0x87, 0x3e, 0xbf, 0xca, 0xc0, 0x21, 0x52, 0x59, 0x38, 0xdc, 0x8b, 0x2a, 0x0b, 0x74, - 0xc1, 0x4b, 0xa9, 0x29, 0xb9, 0x8e, 0x50, 0xae, 0x58, 0x56, 0x93, 0x8b, 0xd0, 0x9e, 0x87, 0xfd, - 0x9d, 0xc7, 0x4c, 0xa7, 0x45, 0x85, 0xa3, 0x6c, 0x71, 0xc3, 0x27, 0x9f, 0x20, 0xbd, 0x04, 0x07, - 0xe2, 0x8f, 0x46, 0xce, 0x88, 0x4a, 0xc5, 0x04, 0x8a, 0x17, 0x32, 0x04, 0xe2, 0x33, 0x18, 0xfb, - 0x54, 0xe9, 0x6c, 0x6a, 0xc9, 0x50, 0x44, 0x3c, 0x83, 0x09, 0x1f, 0x1c, 0x05, 0xb3, 0x30, 0xff, - 0xd8, 0xe8, 0x71, 0x69, 0x69, 0x22, 0x24, 0x9e, 0x85, 0x53, 0x1e, 0x01, 0xe9, 0xef, 0x68, 0x50, - 0x94, 0xbc, 0x00, 0x2a, 0x4b, 0x75, 0x25, 0xe4, 0x8b, 0x4f, 0xe7, 0x93, 0x8f, 0x68, 0x20, 0xd0, - 0x05, 0x0f, 0x64, 0xa6, 0x52, 0xb5, 0x31, 0x72, 0x92, 0x16, 0xe3, 0xfa, 0x72, 0x1b, 0x4e, 0x49, - 0x5f, 0xc5, 0x5c, 0xc9, 0x50, 0x94, 0x28, 0xa1, 0x0e, 0x5d, 0x87, 0xa3, 0xa2, 0xd7, 0x2f, 0x17, - 0x32, 0x11, 0x89, 0xa0, 0x3a, 0xd0, 0x9b, 0x30, 0x91, 0xf1, 0xda, 0x65, 0x21, 0x43, 0x95, 0xa0, - 0x8c, 0x3a, 0xfc, 0x0f, 0x34, 0x98, 0xc9, 0xf5, 0x02, 0xe4, 0xdf, 0xf3, 0xb3, 0x61, 0x35, 0xa8, - 0x73, 0xfb, 0x91, 0x06, 0xb3, 0xf9, 0xde, 0xdb, 0x2c, 0x76, 0x4f, 0x8e, 0xaa, 0x50, 0x67, 0xe7, - 0xc0, 0x71, 0xf1, 0x7b, 0x92, 0xf4, 0x39, 0x83, 0x17, 0x95, 0x8c, 0x7d, 0x41, 0x58, 0xf0, 0x9b, - 0x74, 0x34, 0xa4, 0xbd, 0x10, 0xb9, 0xa2, 0x8c, 0x4b, 0x4b, 0xe4, 0x83, 0xbf, 0x05, 0xe3, 0xe9, - 0x6f, 0x3f, 0x66, 0x95, 0xb1, 0x03, 0xf1, 0x7c, 0xc0, 0xff, 0x07, 0x27, 0x65, 0xcf, 0x3e, 0xe6, - 0x94, 0xa1, 0xe9, 0xae, 0x34, 0x17, 0xf8, 0x0e, 0x9d, 0x07, 0xb8, 0x27, 0x1f, 0x17, 0x14, 0x74, - 0x04, 0x82, 0xf9, 0xc0, 0x5a, 0x50, 0x48, 0x7d, 0xa2, 0x31, 0xa3, 0x88, 0x88, 0xa5, 0x7b, 0xb5, - 0x11, 0x3f, 0xa5, 0x50, 0xb1, 0x31, 0x10, 0xcc, 0x07, 0xf6, 0x06, 0x9c, 0x48, 0x79, 0x3e, 0x31, - 0xad, 0xa4, 0x86, 0x8c, 0xd2, 0x5c, 0x90, 0x77, 0xe0, 0xb4, 0xfc, 0x45, 0xc4, 0xbc, 0x3a, 0x72, - 0x57, 0x43, 0xa7, 0x4d, 0x17, 0x6d, 0xf1, 0x63, 0x87, 0xb2, 0x3a, 0x7a, 0xfe, 0xc1, 0x93, 0x9c, - 0x34, 0xd8, 0x87, 0x0e, 0x57, 0xd4, 0xc1, 0xbb, 0x19, 0x3e, 0x4d, 0x28, 0xa4, 0x06, 0xee, 0x0b, - 0x7b, 0x74, 0x9a, 0x74, 0x71, 0x4a, 0x2e, 0x1d, 0x21, 0xda, 0x30, 0x96, 0xf6, 0x96, 0xe1, 0xb2, - 0x12, 0x20, 0x11, 0x56, 0xc6, 0x73, 0x61, 0x3c, 0x3d, 0xe8, 0x7e, 0x36, 0x4b, 0x09, 0x23, 0xae, - 0x8c, 0xc9, 0xd4, 0x2a, 0xf7, 0x14, 0x61, 0x46, 0x0d, 0x32, 0xa7, 0x95, 0x16, 0x9c, 0x48, 0x89, - 0x9b, 0x9f, 0x96, 0x6b, 0x88, 0xcb, 0x2a, 0xa3, 0xbd, 0x0e, 0xc7, 0xc5, 0x6f, 0x08, 0x2e, 0x29, - 0x80, 0xe5, 0xb4, 0xec, 0x55, 0x38, 0xc8, 0xc6, 0xdd, 0x0b, 0x4f, 0x05, 0x8c, 0x88, 0xf8, 0x54, - 0x20, 0x8e, 0xb2, 0xb7, 0x40, 0x17, 0x84, 0xca, 0x4f, 0xa5, 0x2b, 0x88, 0xcb, 0x89, 0x8f, 0x63, - 0x92, 0x90, 0xf7, 0xe0, 0x78, 0x20, 0x09, 0x33, 0x4f, 0x53, 0x97, 0x22, 0x2f, 0x3e, 0x1e, 0x64, - 0x47, 0x8e, 0xeb, 0x37, 0x61, 0x84, 0x09, 0x1b, 0x9f, 0x4c, 0xd7, 0x43, 0x24, 0xc4, 0xce, 0x2e, - 0x51, 0x8c, 0xb8, 0x7e, 0x13, 0x46, 0xb9, 0xcb, 0x31, 0xa1, 0x37, 0x87, 0x95, 0x29, 0x9e, 0x93, - 0xc9, 0xc4, 0x1a, 0x6b, 0x2c, 0xed, 0x4e, 0xe3, 0xb2, 0x4c, 0x01, 0x27, 0xac, 0x88, 0x76, 0x1b, - 0x4e, 0xcb, 0xaf, 0x2a, 0xe6, 0x65, 0x6a, 0x84, 0x45, 0x7a, 0x46, 0xa6, 0xde, 0xf4, 0x3c, 0xc8, - 0xa4, 0x48, 0xb7, 0xc8, 0xfc, 0x25, 0x83, 0x02, 0x32, 0x57, 0xa4, 0x67, 0x64, 0x75, 0x9b, 0xb9, - 0x22, 0x8a, 0xc8, 0x2e, 0x14, 0x25, 0xd7, 0x03, 0xe5, 0x6c, 0xd8, 0xb8, 0xbc, 0x22, 0xe6, 0x26, - 0xe8, 0x02, 0xf7, 0xfe, 0x94, 0xac, 0x6c, 0x47, 0x4e, 0x11, 0xa3, 0x06, 0x47, 0x45, 0x7e, 0xfc, - 0x0b, 0x99, 0x20, 0x74, 0x23, 0xa1, 0x86, 0x12, 0x1b, 0xef, 0xd4, 0x3b, 0x27, 0x1d, 0xef, 0xd4, - 0x37, 0xa7, 0xa6, 0xfb, 0x35, 0x18, 0xe5, 0x9e, 0x86, 0x08, 0x75, 0xb3, 0x32, 0xe2, 0xb9, 0x4a, - 0xf8, 0x68, 0x65, 0x13, 0x0e, 0x27, 0x5e, 0x88, 0x9c, 0x4b, 0x2f, 0xdd, 0x91, 0xca, 0x81, 0xb1, - 0x0d, 0x47, 0x45, 0x2f, 0x45, 0x2e, 0xa4, 0x2b, 0x60, 0x04, 0xbb, 0x46, 0x8a, 0xd6, 0xb2, 0x2c, - 0xa4, 0x68, 0x31, 0x53, 0x47, 0xaa, 0xc1, 0x91, 0xe4, 0xe3, 0x8c, 0xf3, 0x59, 0x38, 0x58, 0xac, - 0xbb, 0xd6, 0x89, 0x1e, 0x20, 0x48, 0x5b, 0x27, 0x94, 0xca, 0x81, 0xb1, 0x05, 0xba, 0xe0, 0x2d, - 0xc1, 0x54, 0x26, 0x0a, 0x96, 0xcb, 0x81, 0xf3, 0x22, 0x40, 0xec, 0x15, 0xc1, 0x44, 0x7a, 0x39, - 0xec, 0x89, 0x55, 0xd7, 0x7b, 0x13, 0x46, 0x98, 0x20, 0xfe, 0x49, 0xc9, 0xf8, 0xc0, 0x12, 0x32, - 0xdd, 0x6c, 0x4c, 0xbd, 0x6e, 0xc1, 0x71, 0x71, 0x40, 0xfd, 0x25, 0x19, 0x3d, 0x46, 0x34, 0x87, - 0x25, 0x4d, 0x18, 0x4b, 0x0b, 0xaf, 0xbf, 0x9c, 0x89, 0xd7, 0xd5, 0xc8, 0x6c, 0x85, 0xf6, 0xf1, - 0xd1, 0xf6, 0x12, 0xfb, 0x38, 0xd1, 0xe2, 0xbc, 0x82, 0x28, 0x07, 0xbb, 0x0b, 0x27, 0x52, 0x62, - 0xe7, 0xa7, 0xd3, 0x95, 0xf1, 0xb2, 0xc5, 0x2b, 0xd9, 0xb2, 0x1c, 0xee, 0x1d, 0x18, 0x4f, 0x8f, - 0x65, 0x9f, 0x95, 0xaa, 0xe3, 0xc5, 0x8b, 0x4f, 0x28, 0x89, 0x27, 0xc6, 0xda, 0xe1, 0x44, 0x08, - 0xb3, 0x78, 0x3c, 0x73, 0x52, 0xe2, 0x1b, 0x96, 0xd4, 0xa8, 0x64, 0x06, 0x47, 0x76, 0x63, 0xc4, - 0x4b, 0x65, 0xe1, 0x70, 0x37, 0x46, 0x5f, 0xd3, 0xe0, 0xa4, 0x2c, 0x3a, 0x78, 0x4e, 0xae, 0x2d, - 0x51, 0xa0, 0xf8, 0x2f, 0x39, 0x0b, 0x44, 0x4c, 0xde, 0xd5, 0x60, 0x22, 0x23, 0xd2, 0x77, 0x41, - 0x55, 0x77, 0xa7, 0x4c, 0xf1, 0x6a, 0xfe, 0x32, 0x31, 0xa7, 0xe0, 0x58, 0x5a, 0x70, 0xef, 0x65, - 0xb9, 0x5a, 0x46, 0x38, 0xa5, 0xa7, 0xc9, 0x03, 0x76, 0xf1, 0x31, 0x4b, 0x12, 0xae, 0x5b, 0x56, - 0xd1, 0x19, 0xab, 0x87, 0xa7, 0xf3, 0xc9, 0xcb, 0xea, 0x20, 0x8c, 0xd2, 0x55, 0xaa, 0x03, 0x2a, - 0xac, 0x56, 0x07, 0x5c, 0xe4, 0x6d, 0x71, 0xf8, 0x4b, 0x0f, 0xee, 0x4d, 0x6b, 0x4b, 0xf3, 0x1f, - 0x7e, 0x3a, 0xa1, 0x7d, 0xf4, 0xe9, 0x84, 0xf6, 0xf7, 0x4f, 0x27, 0xb4, 0x77, 0x3f, 0x9b, 0xd8, - 0xf3, 0xd1, 0x67, 0x13, 0x7b, 0xfe, 0xf2, 0xd9, 0xc4, 0x9e, 0x9b, 0x63, 0xc9, 0xff, 0xf1, 0x15, - 0x47, 0x0e, 0x6e, 0xee, 0xc5, 0xff, 0x59, 0xed, 0x13, 0xff, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xce, - 0x90, 0x3b, 0x39, 0x06, 0x58, 0x00, 0x00, + // 4235 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0xed, 0x6f, 0x1c, 0x49, + 0x5a, 0x4f, 0xfb, 0x6d, 0x37, 0x4f, 0x1c, 0x27, 0xee, 0xc4, 0xb1, 0x3d, 0x49, 0x6c, 0x67, 0x36, + 0xeb, 0x64, 0x1d, 0x7b, 0x1c, 0xfb, 0xf6, 0x16, 0x29, 0x3a, 0x01, 0x7e, 0x59, 0x82, 0xb9, 0x35, + 0xf1, 0x8d, 0xb3, 0xbb, 0x6c, 0x56, 0xb9, 0xa5, 0xdd, 0x53, 0x1e, 0xf7, 0xba, 0xa7, 0x7b, 0xb6, + 0xbb, 0xc7, 0xc9, 0x00, 0x7b, 0x81, 0xdc, 0x01, 0xf7, 0x22, 0xa1, 0x05, 0x21, 0x21, 0xde, 0x4f, + 0x07, 0x48, 0x27, 0xc4, 0x87, 0x08, 0x56, 0x42, 0x02, 0xf1, 0x7d, 0xbf, 0x00, 0xa7, 0x15, 0x42, + 0xe8, 0x3e, 0xe4, 0xd0, 0x2e, 0x52, 0xf8, 0xc8, 0x9f, 0x80, 0xba, 0xaa, 0xba, 0xa7, 0xaa, 0xba, + 0xba, 0xba, 0x7b, 0x66, 0x92, 0xcd, 0x87, 0xfb, 0x92, 0x71, 0x57, 0x3d, 0xf5, 0xfc, 0x7e, 0x4f, + 0xbd, 0xd7, 0x53, 0xf5, 0x04, 0xa6, 0xfc, 0xc0, 0x6b, 0x99, 0x81, 0xbf, 0x1c, 0xfd, 0x06, 0xf7, + 0x2b, 0x4d, 0xcf, 0x0d, 0x5c, 0xfd, 0x14, 0x4d, 0xa9, 0xd0, 0xdf, 0xd2, 0xb8, 0xd1, 0xb0, 0x1c, + 0x77, 0x19, 0xff, 0x4b, 0x64, 0x4a, 0x93, 0xa6, 0xeb, 0x37, 0x5c, 0x7f, 0xb9, 0xe1, 0xd7, 0x97, + 0x8f, 0x56, 0xc2, 0x1f, 0x9a, 0x31, 0x4d, 0x32, 0xde, 0xc3, 0x5f, 0xcb, 0xe4, 0x83, 0x66, 0x9d, + 0xad, 0xbb, 0x75, 0x97, 0xa4, 0x87, 0x7f, 0xd1, 0xd4, 0x0b, 0x22, 0x8f, 0xa6, 0xe1, 0x19, 0x8d, + 0xa8, 0xcc, 0x0c, 0xc5, 0xd9, 0x33, 0x7c, 0xb4, 0x7c, 0xb4, 0xb2, 0x87, 0x02, 0x63, 0x65, 0xd9, + 0x74, 0x2d, 0x87, 0xe6, 0xcf, 0xd6, 0x5d, 0xb7, 0x6e, 0xa3, 0x65, 0xfc, 0xb5, 0xd7, 0xda, 0x5f, + 0x0e, 0xac, 0x06, 0xf2, 0x03, 0xa3, 0xd1, 0xa4, 0x02, 0x25, 0x51, 0xfd, 0x21, 0x6a, 0x47, 0xca, + 0xcf, 0x8b, 0x79, 0xfb, 0x36, 0x42, 0x41, 0x5a, 0x66, 0xbd, 0x65, 0xd9, 0xb5, 0x54, 0xd2, 0xb6, + 0xe1, 0xc4, 0x45, 0x13, 0xb9, 0xe4, 0x97, 0xe4, 0x96, 0xff, 0x59, 0x83, 0x53, 0xdb, 0x7e, 0xfd, + 0xcd, 0x66, 0xcd, 0x08, 0xd0, 0x0e, 0x36, 0x56, 0x7f, 0x0d, 0x8e, 0x1b, 0xad, 0xe0, 0xc0, 0xf5, + 0xac, 0xa0, 0x3d, 0xa5, 0xcd, 0x69, 0x57, 0x8f, 0xaf, 0x4f, 0x7d, 0xfa, 0xf1, 0xd2, 0x59, 0x5a, + 0x7f, 0x6b, 0xb5, 0x9a, 0x87, 0x7c, 0x7f, 0x37, 0xf0, 0x2c, 0xa7, 0x5e, 0xed, 0x88, 0xea, 0x37, + 0x60, 0x84, 0x54, 0xd7, 0xd4, 0xc0, 0x9c, 0x76, 0xf5, 0xc4, 0xea, 0x64, 0x45, 0x68, 0xbb, 0x0a, + 0x01, 0x58, 0x3f, 0xfe, 0xc9, 0xe3, 0xd9, 0x63, 0x3f, 0x7c, 0xf2, 0x68, 0x41, 0xab, 0xd2, 0x12, + 0x37, 0x5e, 0x7d, 0xf8, 0xe4, 0xd1, 0x42, 0x47, 0xd7, 0x77, 0x9f, 0x3c, 0x5a, 0xb8, 0x14, 0x11, + 0xbe, 0x1f, 0x53, 0x17, 0x98, 0x96, 0xa7, 0x61, 0x52, 0x48, 0xaa, 0x22, 0xbf, 0xe9, 0x3a, 0x3e, + 0x2a, 0x3f, 0xd6, 0x40, 0xdf, 0xf6, 0xeb, 0x94, 0x6c, 0x15, 0xd5, 0x2d, 0x3f, 0x40, 0x9e, 0x3e, + 0x05, 0x2f, 0x98, 0x1e, 0x32, 0x02, 0xd7, 0x23, 0x96, 0x55, 0xa3, 0x4f, 0xbd, 0x04, 0x2f, 0x36, + 0x6d, 0xa3, 0x8d, 0xbc, 0xad, 0x1a, 0xe6, 0x7f, 0xbc, 0x1a, 0x7f, 0x87, 0xa5, 0x0c, 0xa2, 0x68, + 0x6a, 0x90, 0x94, 0xa2, 0x9f, 0xfa, 0x1c, 0x9c, 0x68, 0x7a, 0xae, 0xbb, 0xbf, 0xd3, 0xda, 0xfb, + 0x2a, 0x6a, 0x4f, 0x0d, 0xe1, 0x5c, 0x36, 0x49, 0x9f, 0x87, 0x31, 0xfc, 0xb9, 0x6b, 0xd5, 0x1d, + 0x23, 0x68, 0x79, 0x68, 0x6a, 0x18, 0x0b, 0x09, 0xa9, 0x58, 0x13, 0xf2, 0x1a, 0x96, 0xef, 0x5b, + 0xae, 0xe3, 0x4f, 0x8d, 0xcc, 0x69, 0x57, 0x87, 0xaa, 0x6c, 0xd2, 0x8d, 0xd1, 0xb0, 0x8e, 0x22, + 0xbe, 0xe5, 0x0b, 0x50, 0x4a, 0xda, 0x17, 0x9b, 0x7f, 0x1b, 0x4e, 0xb3, 0xb9, 0x47, 0xee, 0x21, + 0x52, 0xd8, 0xce, 0xd8, 0x37, 0xc0, 0xd9, 0x27, 0x60, 0x96, 0x60, 0x4a, 0xd4, 0x1a, 0x23, 0xfe, + 0x8f, 0x06, 0x67, 0xc2, 0x4c, 0xdb, 0x76, 0x4d, 0x23, 0xb0, 0x5c, 0x67, 0x23, 0x2c, 0xa4, 0x42, + 0x9d, 0x01, 0x30, 0x5d, 0x27, 0xf0, 0x5c, 0xdb, 0x46, 0x1e, 0x05, 0x66, 0x52, 0xc2, 0x9a, 0xf3, + 0xdd, 0x96, 0x67, 0xa2, 0x5b, 0x7b, 0xef, 0x23, 0x33, 0xd8, 0xaa, 0xd1, 0xca, 0x17, 0x52, 0xf5, + 0x9b, 0x30, 0x66, 0xc4, 0xa8, 0xb7, 0xdb, 0x4d, 0x84, 0x9b, 0x61, 0x6c, 0x75, 0x36, 0xd1, 0xff, + 0x78, 0xb1, 0xaa, 0x50, 0x4c, 0x3f, 0x0b, 0xc3, 0x4d, 0xf7, 0x1e, 0xf2, 0x70, 0x0b, 0x0d, 0x55, + 0xc9, 0x87, 0x50, 0x05, 0x6b, 0x70, 0x5e, 0x62, 0x65, 0x54, 0x0b, 0x7a, 0x19, 0x46, 0x3b, 0x4a, + 0xb7, 0x6a, 0xd4, 0x64, 0x2e, 0xad, 0x6c, 0x08, 0x15, 0xb5, 0x89, 0x6c, 0xa4, 0xac, 0x28, 0x51, + 0xe9, 0x40, 0x52, 0x69, 0x06, 0x4b, 0x02, 0x51, 0x88, 0xe5, 0x3d, 0x81, 0x25, 0x19, 0x65, 0xbd, + 0xb1, 0xec, 0xd4, 0xf0, 0x60, 0xfe, 0x1a, 0x26, 0xc0, 0x85, 0xb8, 0x7f, 0x53, 0x83, 0x09, 0x4e, + 0xc7, 0x6d, 0xcf, 0x70, 0xfc, 0x7d, 0xe5, 0xf8, 0xcf, 0x43, 0x9f, 0xef, 0xb1, 0x83, 0x62, 0x8f, + 0x15, 0x0c, 0xd9, 0x80, 0x8b, 0x52, 0x12, 0x85, 0x4c, 0xf9, 0x1d, 0x0d, 0x46, 0xb7, 0xfd, 0xfa, + 0x2f, 0x84, 0x8b, 0xc1, 0xb6, 0x7b, 0x94, 0x31, 0x8a, 0xf1, 0x9a, 0x11, 0x93, 0x8f, 0x3e, 0xf5, + 0x57, 0x61, 0xa2, 0x86, 0xfc, 0xc0, 0x72, 0xb0, 0xd6, 0x37, 0x3a, 0x88, 0xc4, 0x04, 0x79, 0xa6, + 0x60, 0xcd, 0x26, 0x9c, 0x65, 0x79, 0xc4, 0x46, 0x2c, 0xc2, 0x30, 0x86, 0xc1, 0x6c, 0x4e, 0xac, + 0x9e, 0x4b, 0x0c, 0x3a, 0x5c, 0xa4, 0x4a, 0x84, 0xca, 0xdf, 0xc0, 0xf3, 0xd2, 0xcd, 0x70, 0xf5, + 0x5a, 0x37, 0x9c, 0xc3, 0x6d, 0xcb, 0x09, 0x14, 0x16, 0xcd, 0xc1, 0x09, 0xa3, 0xe1, 0xb6, 0x9c, + 0x60, 0xcd, 0x6e, 0x1e, 0x18, 0xd8, 0xaa, 0xa1, 0x2a, 0x9b, 0xd4, 0x91, 0xb8, 0xed, 0x1e, 0x22, + 0x87, 0x76, 0x2b, 0x36, 0x49, 0x3a, 0x83, 0x71, 0xf8, 0xf1, 0x0c, 0xf6, 0x88, 0x2c, 0x19, 0x71, + 0x66, 0x15, 0xd5, 0x10, 0x6a, 0x28, 0xe8, 0x79, 0x3c, 0x38, 0x59, 0xf5, 0xa6, 0x2b, 0x74, 0x9d, + 0x0c, 0x77, 0x09, 0x15, 0xba, 0x4b, 0xa8, 0x6c, 0xb8, 0x96, 0xb3, 0xfe, 0xe5, 0x70, 0xdd, 0xfb, + 0xdb, 0x9f, 0xcc, 0x5e, 0xad, 0x5b, 0xc1, 0x41, 0x6b, 0xaf, 0x62, 0xba, 0x0d, 0xba, 0x29, 0xa1, + 0x3f, 0x4b, 0x7e, 0xed, 0x70, 0x39, 0x68, 0x37, 0x91, 0x8f, 0x0b, 0xf8, 0x64, 0x8d, 0x54, 0x98, + 0x43, 0x16, 0x01, 0x81, 0x71, 0x6c, 0xd0, 0x37, 0x35, 0xdc, 0x03, 0xe3, 0xec, 0x0d, 0xd7, 0xd9, + 0xb7, 0x7c, 0xd3, 0x08, 0xd0, 0x9a, 0x53, 0x5b, 0x6f, 0x79, 0x4e, 0x37, 0x4b, 0x42, 0xe1, 0x2a, + 0xbf, 0x02, 0x2f, 0x2b, 0x49, 0xc4, 0x74, 0x1f, 0x6a, 0x30, 0x16, 0x49, 0x66, 0x2e, 0x1e, 0x25, + 0x78, 0x11, 0x39, 0xb5, 0xa6, 0x6b, 0x39, 0x41, 0xb4, 0x5c, 0x47, 0xdf, 0xfa, 0x22, 0x8c, 0x23, + 0x27, 0xf0, 0xda, 0xbb, 0xad, 0x3d, 0x3f, 0xe0, 0xbb, 0x7a, 0x32, 0x43, 0x60, 0xbb, 0x0a, 0xe7, + 0x78, 0x0e, 0x71, 0x47, 0x9f, 0x82, 0x17, 0xf0, 0xae, 0x2b, 0x1e, 0xa8, 0xd1, 0x67, 0xd9, 0xc5, + 0xb3, 0x0d, 0x2e, 0x43, 0x26, 0xab, 0x5b, 0xf7, 0x9c, 0x68, 0xdf, 0x90, 0x5e, 0xbd, 0x91, 0xb2, + 0x01, 0x4e, 0x59, 0x38, 0x45, 0xba, 0x61, 0x71, 0x4a, 0x98, 0x7c, 0x08, 0x24, 0x7f, 0x5f, 0x83, + 0x59, 0x1e, 0xf1, 0x75, 0xd1, 0xac, 0xae, 0xb0, 0x7b, 0xa9, 0xb8, 0xa3, 0x4e, 0xc5, 0x45, 0x94, + 0x68, 0x73, 0x74, 0xc3, 0x84, 0x6d, 0xde, 0x41, 0xbe, 0x79, 0x05, 0xdc, 0x3f, 0xd2, 0xe0, 0x12, + 0x0f, 0xfc, 0x4b, 0xae, 0xe5, 0x6c, 0x39, 0xfb, 0xad, 0x70, 0xd7, 0xb4, 0x6d, 0x39, 0x56, 0xa3, + 0xd5, 0xe8, 0x8a, 0xc3, 0x75, 0x38, 0xf3, 0x7e, 0x52, 0x15, 0xed, 0xf0, 0xb2, 0x2c, 0x81, 0xd9, + 0xbf, 0x6b, 0x70, 0x3d, 0x93, 0xd9, 0x7a, 0xbb, 0x69, 0xf8, 0xfe, 0x7a, 0xbb, 0x8a, 0x3e, 0x68, + 0x21, 0xbf, 0xbb, 0xca, 0x7a, 0x07, 0xce, 0xe2, 0x3f, 0x43, 0xf5, 0x44, 0xdf, 0x1b, 0xe8, 0x08, + 0xd9, 0x98, 0xe9, 0xd8, 0xea, 0xcb, 0x89, 0x19, 0x59, 0x26, 0x5c, 0x95, 0xaa, 0x10, 0x2c, 0xfa, + 0x37, 0x0d, 0x96, 0x73, 0x5b, 0xb4, 0xe5, 0x1c, 0x59, 0x01, 0x7a, 0xbe, 0x0d, 0x9a, 0x12, 0x3b, + 0x6d, 0x3c, 0x19, 0xfd, 0x99, 0xd6, 0x59, 0x29, 0xb6, 0x51, 0x63, 0x0f, 0x79, 0xfe, 0x81, 0xd5, + 0xec, 0xc1, 0x26, 0xf6, 0x7c, 0x31, 0x28, 0x9c, 0x2f, 0xca, 0x30, 0xea, 0xb3, 0x43, 0x8e, 0x1c, + 0x23, 0xb8, 0x34, 0x81, 0xf8, 0x5f, 0x31, 0x33, 0x80, 0x48, 0x6f, 0xad, 0xd9, 0xf4, 0x32, 0x77, + 0x0a, 0xcf, 0x84, 0xe5, 0x6f, 0xc0, 0x85, 0x34, 0x92, 0x9b, 0xc8, 0x69, 0xf7, 0x9b, 0xa1, 0x80, + 0xfe, 0x0d, 0x98, 0x49, 0x43, 0xcf, 0x73, 0x22, 0xea, 0x19, 0xff, 0x9f, 0xb4, 0x4e, 0xef, 0xea, + 0x10, 0x08, 0x3b, 0xe4, 0x17, 0xd1, 0x34, 0xe1, 0xe6, 0xd5, 0xa2, 0x23, 0x75, 0xab, 0x36, 0x35, + 0x3c, 0x37, 0x18, 0x6e, 0x5e, 0x3b, 0x29, 0x02, 0xf9, 0x7f, 0xd5, 0xf0, 0x36, 0x5c, 0x42, 0x7e, + 0xc7, 0x73, 0xef, 0xb7, 0xbb, 0xda, 0x39, 0x88, 0x2c, 0x07, 0x25, 0x2c, 0xfb, 0x76, 0xa0, 0x4e, + 0x5f, 0x9e, 0x3a, 0xe6, 0x7c, 0xd5, 0x32, 0x0f, 0x9f, 0x72, 0x27, 0xf8, 0x73, 0x0d, 0xa6, 0x93, + 0xc0, 0xbd, 0xcc, 0xf6, 0xfd, 0x1d, 0xa2, 0x7f, 0xad, 0xc1, 0x5c, 0x2a, 0xbf, 0xe7, 0x67, 0x26, + 0xf9, 0xb0, 0xb3, 0x93, 0x4d, 0xb0, 0x7c, 0x06, 0x53, 0xc9, 0x03, 0xd9, 0x6c, 0x4b, 0xe1, 0x9f, + 0xc9, 0x5c, 0xf2, 0x1d, 0xad, 0xb3, 0xd3, 0x67, 0x19, 0xd0, 0xbd, 0xe9, 0x21, 0x94, 0xea, 0x7c, + 0xd6, 0x5a, 0xb3, 0x69, 0x5b, 0xe4, 0x28, 0x47, 0x4f, 0x66, 0xd7, 0x12, 0xcb, 0xe6, 0xcd, 0xd4, + 0x22, 0x55, 0x85, 0xba, 0xf2, 0x5f, 0x10, 0x2e, 0x3b, 0xb1, 0x6b, 0xea, 0xa6, 0x67, 0x38, 0xc1, + 0x2d, 0x87, 0x38, 0x64, 0xd4, 0x7b, 0x76, 0x37, 0x72, 0xe5, 0xd0, 0x3d, 0x7b, 0xf4, 0xad, 0xec, + 0x2e, 0x82, 0x6b, 0x6c, 0x28, 0xcb, 0x35, 0xf6, 0x5b, 0x64, 0xee, 0x4a, 0x10, 0xa4, 0x8e, 0xab, + 0x6e, 0x4f, 0x3d, 0x2c, 0x87, 0xc1, 0x2c, 0x0e, 0x7f, 0x29, 0x72, 0x20, 0xdd, 0xe4, 0x39, 0xaa, + 0xa5, 0x87, 0x1a, 0x5e, 0x9d, 0x93, 0x0c, 0x9f, 0x65, 0x35, 0xd1, 0x6d, 0x56, 0x87, 0xc4, 0x2e, + 0x7a, 0x9e, 0x7a, 0xd2, 0x03, 0x3c, 0x79, 0x0b, 0xec, 0x9e, 0x65, 0xfd, 0x4c, 0xe2, 0xa3, 0x25, + 0xdb, 0x46, 0x74, 0x7f, 0xfa, 0x16, 0x76, 0xa4, 0xec, 0x60, 0x4f, 0xff, 0xeb, 0xf7, 0x9b, 0xb6, + 0xeb, 0xa1, 0xee, 0x9c, 0xdb, 0x02, 0xe0, 0xd7, 0x48, 0x7b, 0xb0, 0x7a, 0xe3, 0x59, 0xe6, 0xcb, + 0x30, 0x42, 0xae, 0x16, 0xe8, 0x8c, 0x22, 0x71, 0xf0, 0xe3, 0xec, 0xf5, 0xa1, 0x4f, 0x1e, 0xcf, + 0x1e, 0xab, 0x52, 0xe1, 0xf2, 0x6f, 0x13, 0x6f, 0x1c, 0xc9, 0xab, 0x1a, 0x56, 0x6d, 0xc3, 0x6d, + 0x34, 0x33, 0x5c, 0x9e, 0xe9, 0xbe, 0xac, 0xb3, 0x30, 0x8c, 0x17, 0xfa, 0xe8, 0x7c, 0x8c, 0x3f, + 0xc2, 0x54, 0xc7, 0x75, 0x4c, 0x44, 0x97, 0x12, 0xf2, 0x21, 0x98, 0xf6, 0x43, 0xe2, 0x0e, 0x49, + 0xf2, 0x88, 0x0d, 0x5c, 0xcd, 0xe5, 0xcb, 0xa2, 0xe6, 0x11, 0x51, 0xa6, 0x52, 0x06, 0x0a, 0x54, + 0x8a, 0x7e, 0x01, 0x8e, 0xbb, 0x1e, 0xda, 0x0d, 0x5c, 0x3b, 0xf6, 0xa1, 0x74, 0x12, 0xca, 0xdf, + 0x8b, 0xa9, 0xb6, 0x91, 0x47, 0xef, 0x37, 0x3c, 0xab, 0x61, 0x78, 0xed, 0xec, 0xce, 0xa7, 0xba, + 0xc8, 0xc0, 0x7b, 0x27, 0x56, 0x4f, 0xe4, 0x52, 0xe7, 0x53, 0xa5, 0x1e, 0x9c, 0x74, 0x32, 0x71, + 0xa7, 0x7c, 0x13, 0x5f, 0x26, 0x11, 0xc1, 0x2a, 0xf2, 0x5b, 0x8d, 0xfe, 0xf4, 0x49, 0x72, 0xcd, + 0xc3, 0xaa, 0x8d, 0x11, 0xff, 0x71, 0x00, 0x8f, 0x83, 0x2a, 0x32, 0xcc, 0xc0, 0xf5, 0xf0, 0x49, + 0x54, 0x85, 0xf9, 0x3a, 0x8c, 0xd7, 0x90, 0x8d, 0xea, 0xe1, 0xc7, 0x7b, 0xdc, 0x10, 0x55, 0x5c, + 0x71, 0x9d, 0x8e, 0x8b, 0x44, 0x95, 0xff, 0xcb, 0x30, 0x7e, 0x64, 0xd8, 0x56, 0x8d, 0x53, 0x83, + 0x6b, 0x72, 0xfd, 0xd2, 0xa7, 0x1f, 0x2f, 0x5d, 0xa4, 0x6a, 0xde, 0x8a, 0x64, 0x04, 0x7d, 0x47, + 0x42, 0xba, 0xfe, 0x15, 0x18, 0x21, 0xfe, 0x33, 0xdc, 0x7d, 0x95, 0x3e, 0x44, 0xf6, 0xee, 0x8c, + 0x94, 0xb9, 0xf1, 0xea, 0xb7, 0xbf, 0x3f, 0x7b, 0xec, 0x7f, 0xbf, 0x3f, 0x7b, 0x8c, 0xad, 0xb4, + 0xef, 0x3e, 0x79, 0xb4, 0x70, 0x9e, 0xf1, 0x2a, 0x8a, 0x95, 0x44, 0x3d, 0xa1, 0x5c, 0x5a, 0x5c, + 0xab, 0x7f, 0x33, 0xc8, 0x66, 0xae, 0xa3, 0xba, 0xe5, 0x6c, 0x5b, 0x75, 0x0f, 0x2f, 0xff, 0x4f, + 0xbf, 0x76, 0xdf, 0x84, 0x89, 0x4e, 0xed, 0xfa, 0x9e, 0x59, 0xbc, 0x86, 0xcf, 0xc4, 0xe5, 0x77, + 0x3d, 0x53, 0xaa, 0xb6, 0xe6, 0x07, 0xb1, 0xda, 0xa1, 0xe2, 0x6a, 0x37, 0xfd, 0x20, 0xd9, 0x76, + 0xc3, 0x5d, 0xb4, 0xdd, 0x57, 0xd2, 0xda, 0xee, 0x25, 0x69, 0xdb, 0xf1, 0x4d, 0x51, 0x3e, 0xc2, + 0x7b, 0x77, 0x69, 0x5e, 0x3c, 0xa7, 0x55, 0xe1, 0x94, 0x49, 0xe6, 0x39, 0xcb, 0x75, 0xde, 0x0b, + 0xac, 0x06, 0xa2, 0xb3, 0x5b, 0xa9, 0x42, 0xae, 0xab, 0x2b, 0xd1, 0x75, 0x75, 0xe5, 0x76, 0x74, + 0x5d, 0xbd, 0x7e, 0x32, 0x64, 0xfa, 0xd1, 0x4f, 0x66, 0x35, 0xc2, 0x76, 0xac, 0xa3, 0x21, 0x94, + 0x11, 0x46, 0xdd, 0x26, 0xfa, 0xe9, 0xa8, 0xcb, 0x1c, 0x75, 0xa4, 0x92, 0xca, 0x7f, 0xa7, 0xb1, + 0x23, 0x8b, 0x24, 0x3e, 0xcd, 0xa6, 0x62, 0x8c, 0x1c, 0x28, 0x6e, 0x64, 0xf9, 0xff, 0x06, 0x58, + 0xba, 0x1b, 0x86, 0x63, 0x22, 0x1b, 0x93, 0x7e, 0x26, 0x13, 0xc1, 0x73, 0xd5, 0xe0, 0xfa, 0x15, + 0x38, 0x85, 0xed, 0x0b, 0xdb, 0xe6, 0x00, 0x59, 0xf5, 0x03, 0x32, 0xe2, 0x07, 0xab, 0x63, 0x51, + 0xf2, 0x2f, 0xe2, 0xd4, 0xa2, 0x63, 0x9a, 0xaf, 0xd5, 0x72, 0x99, 0x1d, 0xd3, 0x7c, 0x5e, 0x3c, + 0x3f, 0xef, 0xe0, 0x05, 0x71, 0x17, 0xef, 0x2f, 0x76, 0x03, 0x23, 0x68, 0xf9, 0xec, 0x1e, 0x8d, + 0xec, 0x3b, 0x52, 0xf7, 0x68, 0xa4, 0x58, 0xb4, 0x1d, 0x21, 0xa9, 0xe5, 0xb7, 0x61, 0x3c, 0xd6, + 0xb8, 0x66, 0x06, 0xd6, 0x51, 0xe6, 0xed, 0x0b, 0x29, 0xd8, 0x59, 0xbb, 0xa3, 0x6f, 0x61, 0xed, + 0x7e, 0x07, 0x5f, 0x23, 0x13, 0xc5, 0x9b, 0xa1, 0x51, 0xfd, 0x53, 0xfd, 0x1f, 0xc4, 0xbf, 0x46, + 0xed, 0xc1, 0x47, 0x6a, 0xc7, 0x0a, 0xac, 0x4c, 0xf5, 0xa9, 0xbb, 0xa3, 0x32, 0x8c, 0x12, 0xa8, + 0xdb, 0xed, 0x26, 0xa2, 0xa7, 0x87, 0xa1, 0x2a, 0x97, 0xa6, 0xff, 0x2c, 0x8c, 0xb9, 0x4d, 0x14, + 0xce, 0xb1, 0x4e, 0x7d, 0xad, 0xb1, 0x67, 0x05, 0xf4, 0xb1, 0x41, 0x72, 0xaf, 0x68, 0x84, 0xb9, + 0x55, 0x41, 0x5a, 0xd7, 0x61, 0xc8, 0xb7, 0xdd, 0x80, 0x3e, 0x31, 0xc0, 0x7f, 0x0b, 0x66, 0x7d, + 0x3b, 0x61, 0x56, 0x8e, 0xfd, 0xb2, 0xa2, 0xd6, 0x7a, 0xd8, 0x31, 0xdf, 0xc1, 0x77, 0xbe, 0x2c, + 0x13, 0xdc, 0x1f, 0xfb, 0xd2, 0x7a, 0x3f, 0x18, 0xc0, 0xee, 0x59, 0x89, 0x99, 0x6b, 0x4e, 0x6d, + 0x37, 0x30, 0xfc, 0x83, 0xa7, 0x6f, 0xae, 0xbe, 0x0a, 0x67, 0xfd, 0xc0, 0xf5, 0x8c, 0x3a, 0xda, + 0xec, 0x5c, 0x81, 0x63, 0xef, 0x68, 0x28, 0x24, 0xcd, 0xd3, 0x6f, 0x84, 0xbd, 0x04, 0xa7, 0x93, + 0xf6, 0x1f, 0x51, 0xb6, 0x3f, 0x27, 0x1b, 0x1e, 0xff, 0xe8, 0xf7, 0x6e, 0xd8, 0x09, 0x5e, 0x20, + 0xc7, 0x3f, 0x26, 0x29, 0x79, 0xb9, 0xc5, 0x0e, 0x9f, 0x7d, 0xe4, 0xf8, 0x68, 0x17, 0xa9, 0x4e, + 0xc6, 0x0b, 0x70, 0xba, 0x16, 0xca, 0xd5, 0x90, 0xb7, 0xcb, 0xd7, 0x50, 0x22, 0x5d, 0x5f, 0x84, + 0xf1, 0x70, 0x41, 0x41, 0x66, 0x80, 0x6a, 0xb1, 0x30, 0xbd, 0xee, 0x4b, 0x64, 0x08, 0xcc, 0x0e, + 0xf1, 0x99, 0x8e, 0x23, 0xb6, 0x61, 0x23, 0xc3, 0xeb, 0x0f, 0x35, 0x01, 0xec, 0x3f, 0x35, 0x38, + 0x19, 0xa3, 0x65, 0xbc, 0x82, 0x50, 0x75, 0x8d, 0x9f, 0x83, 0x51, 0xc9, 0x3b, 0xa1, 0xf3, 0x89, + 0xa6, 0x23, 0xbe, 0x04, 0xfc, 0x46, 0x88, 0x2b, 0xa0, 0x2f, 0xc2, 0x30, 0x6e, 0x56, 0xdc, 0x41, + 0xd2, 0x1b, 0x9d, 0x08, 0xc5, 0x63, 0x7d, 0x24, 0x75, 0xac, 0xff, 0x03, 0x79, 0x7e, 0x47, 0xe7, + 0xdd, 0x20, 0x30, 0x94, 0xfe, 0xe8, 0x45, 0x18, 0x8f, 0x67, 0x13, 0xa1, 0x06, 0x93, 0x19, 0xe1, + 0x59, 0x2f, 0x30, 0xbc, 0x3a, 0x0a, 0x98, 0xa6, 0x1d, 0x0c, 0xcf, 0x7a, 0x7c, 0x6a, 0x38, 0xeb, + 0xdd, 0x43, 0x46, 0xd3, 0x75, 0x76, 0xdb, 0x7e, 0x80, 0x1a, 0x91, 0x33, 0x96, 0x4d, 0x93, 0x9e, + 0xc7, 0x58, 0xd2, 0xf1, 0xca, 0xf4, 0x75, 0xbc, 0x5f, 0x88, 0x56, 0x26, 0x64, 0xd8, 0xc1, 0x41, + 0x5f, 0x97, 0x93, 0x5f, 0xc5, 0xae, 0x47, 0x4e, 0x7f, 0x9f, 0x57, 0x95, 0x87, 0x1a, 0x63, 0xc2, + 0x4d, 0xe4, 0x84, 0xd5, 0x9a, 0xe3, 0x64, 0xa9, 0xea, 0x76, 0x65, 0x18, 0xc5, 0xf7, 0x2c, 0x68, + 0x8d, 0xec, 0x3e, 0xe8, 0xbd, 0x07, 0x9b, 0x26, 0x90, 0x20, 0x9b, 0x00, 0x81, 0x03, 0xbf, 0xd2, + 0x97, 0xbf, 0x47, 0x6e, 0x16, 0x88, 0xd0, 0x2d, 0x0f, 0x6d, 0x5b, 0x0e, 0xf2, 0xbe, 0xb0, 0xa5, + 0xe2, 0x57, 0xb0, 0x87, 0x9c, 0x27, 0xd3, 0x9f, 0xad, 0xc9, 0xef, 0x11, 0x3f, 0x65, 0xac, 0xba, + 0x8a, 0xf6, 0x43, 0xe5, 0xed, 0x2f, 0xcc, 0xd4, 0x77, 0xa1, 0x2c, 0xe3, 0xd3, 0x1f, 0x6b, 0xff, + 0x45, 0x63, 0x26, 0xd6, 0x5d, 0xba, 0x30, 0xf4, 0xb0, 0x1a, 0xce, 0x00, 0xd8, 0xe2, 0x7b, 0x2f, + 0x26, 0xa5, 0x33, 0xa3, 0x0d, 0x15, 0x99, 0xd1, 0xd2, 0x77, 0x2f, 0x3f, 0x66, 0x77, 0x2f, 0x94, + 0x7f, 0x15, 0x99, 0x86, 0x6d, 0x3f, 0xaf, 0x06, 0x84, 0xe8, 0xd1, 0x0c, 0x82, 0xa7, 0xea, 0x17, + 0xab, 0xf1, 0xb7, 0x60, 0x1c, 0x79, 0x13, 0xd9, 0x79, 0x04, 0x93, 0xf9, 0x4a, 0x29, 0x7e, 0xcc, + 0x33, 0xc0, 0x3c, 0xe6, 0x49, 0xbc, 0xfb, 0x1b, 0xcc, 0xf9, 0x9e, 0x53, 0x04, 0x66, 0x1f, 0x12, + 0x72, 0xf7, 0x69, 0x5a, 0xf2, 0x3e, 0x2d, 0xde, 0x4a, 0xc4, 0x69, 0x79, 0x9e, 0x9d, 0x72, 0x5a, + 0x07, 0x24, 0xd7, 0xb5, 0xaf, 0xc2, 0x44, 0x23, 0x72, 0x39, 0x48, 0x5e, 0x0d, 0xc9, 0x33, 0x05, + 0xe3, 0x2e, 0x0a, 0xc6, 0xf1, 0x8f, 0x55, 0xcb, 0x7f, 0xa0, 0x91, 0x8d, 0x62, 0x9c, 0xcf, 0x3c, + 0xbe, 0x75, 0x1d, 0x47, 0x7d, 0x51, 0x90, 0xe7, 0x55, 0xe7, 0x65, 0x38, 0x59, 0xe3, 0x76, 0x7f, + 0x84, 0x3b, 0x9f, 0x28, 0x70, 0xbe, 0x0a, 0xf3, 0x6a, 0x4e, 0x31, 0x7d, 0x17, 0x3f, 0x4f, 0x92, + 0x49, 0x6e, 0x5a, 0xbe, 0xd9, 0x0f, 0x03, 0x04, 0x6a, 0xd7, 0xe0, 0x95, 0x4c, 0xc0, 0x98, 0xdd, + 0xb7, 0xc8, 0x5d, 0x5e, 0x47, 0x9a, 0x78, 0x59, 0x73, 0x55, 0x6c, 0x66, 0xe7, 0xc8, 0x7f, 0xbd, + 0x79, 0x99, 0x4c, 0xa9, 0x72, 0x16, 0x31, 0x59, 0x13, 0x3b, 0xc5, 0x45, 0xa9, 0x5c, 0xd5, 0x98, + 0xdf, 0xd9, 0x4c, 0x9c, 0xdd, 0xe9, 0x20, 0x59, 0x55, 0x47, 0x3c, 0x70, 0xa8, 0xaf, 0x55, 0x37, + 0x58, 0xb8, 0xea, 0x28, 0x0b, 0x76, 0x10, 0xe1, 0x80, 0x80, 0xba, 0x87, 0x50, 0x03, 0x39, 0xc1, + 0xad, 0x26, 0x72, 0xd4, 0x4f, 0xf3, 0x9b, 0x9e, 0x7b, 0x64, 0xd5, 0x98, 0x0a, 0x63, 0x52, 0x42, + 0x7a, 0xb5, 0x16, 0x19, 0xd8, 0xf4, 0x94, 0x1c, 0x7f, 0x87, 0x79, 0xa6, 0xd1, 0x34, 0x4c, 0x2b, + 0x68, 0xd3, 0x0b, 0xb6, 0xf8, 0x5b, 0xa0, 0x7e, 0x17, 0x3b, 0x1d, 0x62, 0x4e, 0x1b, 0xb6, 0xab, + 0xdc, 0x62, 0xcd, 0xc1, 0x09, 0x23, 0x92, 0x8d, 0x59, 0xb1, 0x49, 0x82, 0xfa, 0x3f, 0x24, 0x1b, + 0x87, 0x8e, 0x7e, 0xca, 0x62, 0xcb, 0x09, 0x25, 0x7a, 0x83, 0x0a, 0x0f, 0x33, 0xa6, 0xa0, 0x8f, + 0xd6, 0x44, 0x22, 0x3d, 0x27, 0xad, 0x4d, 0xd4, 0x5f, 0x5a, 0x91, 0x3e, 0x91, 0x56, 0x94, 0x9e, + 0x41, 0x6b, 0x93, 0xb6, 0x67, 0xbf, 0x6a, 0xab, 0x26, 0xe8, 0x8b, 0x68, 0x89, 0xe9, 0x02, 0xad, + 0x73, 0xd8, 0x05, 0x11, 0xb3, 0x8a, 0x3b, 0xf4, 0x0f, 0x86, 0x71, 0xe7, 0xd9, 0xa1, 0x7d, 0x32, + 0x73, 0x25, 0xce, 0x33, 0xe8, 0x6a, 0x30, 0x14, 0x0e, 0x1a, 0xcc, 0xec, 0x69, 0x3c, 0xe4, 0xc6, + 0xda, 0xf5, 0x2d, 0x18, 0x35, 0x4c, 0x13, 0xf9, 0xfe, 0x8e, 0x6b, 0x5b, 0x66, 0x9b, 0xee, 0x5b, + 0x92, 0x8f, 0x1a, 0xa3, 0xe1, 0xb6, 0xc6, 0x08, 0x57, 0xb9, 0xa2, 0xba, 0x0f, 0xe7, 0x23, 0x29, + 0xe2, 0x99, 0xb1, 0xc9, 0x14, 0x80, 0x1c, 0xc3, 0x0e, 0xda, 0xc4, 0x8b, 0xb1, 0xbe, 0x12, 0x92, + 0xfd, 0xf1, 0xe3, 0x59, 0xea, 0x97, 0xf6, 0x6b, 0x87, 0x15, 0xcb, 0x5d, 0x6e, 0x18, 0xc1, 0x41, + 0xe5, 0x0d, 0x54, 0x37, 0xcc, 0xb0, 0x43, 0x7c, 0xfa, 0xf1, 0x12, 0x50, 0x6b, 0x37, 0x91, 0x59, + 0x55, 0x69, 0x0d, 0x41, 0x4d, 0xd7, 0xf1, 0x5b, 0x0d, 0x39, 0xe8, 0x48, 0xd7, 0xa0, 0x0a, 0xad, + 0xfa, 0x55, 0x38, 0x15, 0xf5, 0xdf, 0xe8, 0x1d, 0x2e, 0x71, 0x9e, 0x88, 0xc9, 0x9c, 0xa4, 0x71, + 0x1f, 0x4b, 0xbe, 0x28, 0x48, 0x92, 0xe4, 0x50, 0x32, 0xea, 0x7c, 0x91, 0xce, 0xe3, 0x44, 0x52, + 0x48, 0xe6, 0x24, 0xa9, 0x4e, 0x10, 0x24, 0x49, 0x72, 0x72, 0x4c, 0x95, 0x98, 0x4e, 0xfa, 0xb6, + 0x15, 0x1c, 0xd4, 0x3c, 0xe3, 0xde, 0xba, 0x61, 0x87, 0x26, 0xf6, 0x30, 0xff, 0x56, 0x40, 0x67, + 0x76, 0x27, 0xfc, 0x5d, 0xae, 0x24, 0x47, 0xa0, 0xf5, 0x27, 0xe4, 0xcd, 0x57, 0x44, 0x8b, 0x5c, + 0xe9, 0x6e, 0x08, 0xf5, 0xd8, 0x13, 0x39, 0x07, 0xdd, 0xa3, 0x7a, 0x22, 0xb5, 0x74, 0xb8, 0x4b, + 0x72, 0x0a, 0x91, 0xa3, 0x4d, 0xd7, 0x33, 0x39, 0xa2, 0x47, 0x46, 0x8e, 0xcf, 0xc9, 0x43, 0x6e, + 0x53, 0xe8, 0x2d, 0x7d, 0xaa, 0xb9, 0x4d, 0x7e, 0x81, 0x95, 0xe4, 0x14, 0x22, 0xd7, 0xdf, 0x9a, + 0x93, 0x91, 0xe3, 0x73, 0x04, 0x72, 0x7f, 0x4f, 0x5f, 0x34, 0x70, 0xe4, 0xd8, 0xa9, 0xad, 0x07, + 0x66, 0xe2, 0x8c, 0x3a, 0xd8, 0xf5, 0x8c, 0x2a, 0x90, 0x6e, 0x93, 0x87, 0x2b, 0xb4, 0x18, 0x7e, + 0x2e, 0x87, 0x9f, 0x92, 0xf5, 0xc0, 0x95, 0x79, 0x0c, 0x48, 0xf6, 0x75, 0xd1, 0xa7, 0x00, 0xfd, + 0x6b, 0xf8, 0x18, 0xcd, 0x41, 0x67, 0x3e, 0x34, 0xec, 0x17, 0xf6, 0xbb, 0xdc, 0xd2, 0x9a, 0x79, + 0x4e, 0xcc, 0x80, 0x15, 0x94, 0x4f, 0xe0, 0x63, 0x68, 0xa4, 0x3c, 0x5a, 0xcf, 0x57, 0xbf, 0xf3, + 0x3a, 0x0c, 0x6e, 0xfb, 0x75, 0xfd, 0x0e, 0x8c, 0x72, 0xc1, 0xc8, 0x73, 0x89, 0x56, 0x14, 0x22, + 0x7e, 0x4b, 0x57, 0xb3, 0x24, 0xe2, 0x63, 0xb2, 0x09, 0xa7, 0xc4, 0x78, 0xe0, 0x97, 0x64, 0x85, + 0x05, 0xa1, 0xd2, 0xb5, 0x1c, 0x42, 0x31, 0xc8, 0x5d, 0x38, 0xc9, 0x87, 0xdd, 0x5e, 0x52, 0x96, + 0x0e, 0x45, 0x4a, 0xaf, 0x64, 0x8a, 0xc4, 0xea, 0xdf, 0x81, 0x93, 0xfc, 0x26, 0x5e, 0xae, 0x9e, + 0x15, 0x29, 0xbd, 0xac, 0x14, 0x89, 0x55, 0xbf, 0x0b, 0x63, 0xc2, 0x5e, 0xbc, 0xac, 0x2c, 0x88, + 0x65, 0xf2, 0x2a, 0xff, 0x00, 0xa6, 0xd3, 0x37, 0xe2, 0x4b, 0x6a, 0x1c, 0x41, 0xbc, 0x17, 0xc8, + 0x78, 0x93, 0x9d, 0x0f, 0x32, 0x12, 0xef, 0x06, 0x32, 0xb1, 0x81, 0x56, 0x43, 0x8a, 0xe2, 0x79, + 0x21, 0xf7, 0xe1, 0x74, 0x22, 0xe6, 0xfa, 0xb2, 0xb4, 0xa8, 0x20, 0x55, 0x5a, 0xcc, 0x23, 0x25, + 0xc7, 0xa1, 0x73, 0x42, 0x06, 0x0e, 0x91, 0xca, 0xc2, 0x11, 0x62, 0x93, 0x39, 0x1c, 0x1a, 0x74, + 0x9c, 0x81, 0x43, 0xa4, 0xb2, 0x70, 0x84, 0x38, 0x62, 0x1b, 0x74, 0x49, 0x7c, 0xf0, 0xbc, 0x5a, + 0x47, 0x24, 0x57, 0xaa, 0xe4, 0x93, 0x8b, 0xd1, 0xbe, 0x06, 0xc7, 0x3b, 0x21, 0xbc, 0x17, 0x65, + 0x85, 0xe3, 0x6c, 0x79, 0xc3, 0x27, 0x03, 0x6f, 0xdf, 0x86, 0x13, 0x6c, 0xa8, 0xe4, 0xac, 0xac, + 0x14, 0x23, 0x50, 0xba, 0x92, 0x21, 0xc0, 0xce, 0x60, 0x7c, 0x80, 0xee, 0xa5, 0xd4, 0x92, 0x91, + 0x88, 0x7c, 0x06, 0x93, 0x86, 0xd9, 0x86, 0xb3, 0xb0, 0x18, 0x62, 0xfb, 0x92, 0xb2, 0x34, 0x11, + 0x92, 0xcf, 0xc2, 0x29, 0xa1, 0xaf, 0xfa, 0xb7, 0x34, 0x28, 0x29, 0xe2, 0x5e, 0x2b, 0x4a, 0x5d, + 0x09, 0xf9, 0xd2, 0x6b, 0xc5, 0xe4, 0x63, 0x1a, 0x08, 0x74, 0x49, 0x58, 0xe8, 0x7c, 0xaa, 0x36, + 0x4e, 0x4e, 0xd1, 0x62, 0x42, 0x5f, 0x6e, 0xc3, 0x05, 0x65, 0x2c, 0xe8, 0xf5, 0x0c, 0x45, 0x89, + 0x12, 0xf9, 0xa1, 0xeb, 0x70, 0x46, 0x16, 0xf3, 0x79, 0x25, 0x13, 0x91, 0x08, 0xe6, 0x07, 0xfa, + 0x10, 0x66, 0x32, 0x62, 0x3c, 0x57, 0x33, 0x54, 0x49, 0xca, 0xe4, 0x87, 0xff, 0x63, 0x0d, 0x16, + 0x0b, 0xc5, 0x3d, 0xfe, 0x7c, 0x71, 0x36, 0xbc, 0x86, 0xfc, 0xdc, 0xfe, 0x54, 0x83, 0xa5, 0x62, + 0x51, 0xa6, 0x6b, 0xdd, 0x93, 0xa3, 0x2a, 0xf2, 0xb3, 0x73, 0x61, 0x42, 0x1e, 0x45, 0x99, 0x3e, + 0x67, 0x88, 0xa2, 0x8a, 0xb1, 0x2f, 0x09, 0x86, 0xf9, 0x90, 0x8e, 0x86, 0xb4, 0xb8, 0xc8, 0xeb, + 0xb9, 0x71, 0x69, 0x89, 0x62, 0xf0, 0xf7, 0x60, 0x3a, 0x3d, 0xe2, 0x71, 0x29, 0x37, 0x76, 0x28, + 0x5e, 0x0c, 0xf8, 0xd7, 0xe1, 0xbc, 0x2a, 0xd8, 0x71, 0x39, 0x37, 0x34, 0xdd, 0x95, 0x16, 0x02, + 0x3f, 0xa4, 0xf3, 0x80, 0x10, 0xe8, 0x78, 0x25, 0x87, 0x8e, 0x50, 0xb0, 0x18, 0x58, 0x0b, 0xa6, + 0x52, 0x03, 0x13, 0x17, 0x73, 0x22, 0x62, 0xe9, 0x5e, 0x6d, 0xc4, 0x01, 0x84, 0x79, 0x6c, 0x0c, + 0x05, 0x8b, 0x81, 0x7d, 0x00, 0xe7, 0x52, 0x82, 0x06, 0x17, 0x72, 0xa9, 0x21, 0xa3, 0xb4, 0x10, + 0xe4, 0x03, 0xb8, 0xa8, 0x8e, 0x03, 0x5c, 0xc9, 0x8f, 0xdc, 0xd5, 0xd0, 0x69, 0xd3, 0x45, 0x5b, + 0x1e, 0xe2, 0x57, 0xc9, 0x8f, 0x5e, 0x7c, 0xf0, 0x24, 0x27, 0x0d, 0x3e, 0xbc, 0xef, 0x7a, 0x7e, + 0xf0, 0x6e, 0x86, 0x4f, 0x13, 0xa6, 0x52, 0xc3, 0xd5, 0xa4, 0x3d, 0x3a, 0x4d, 0xba, 0x34, 0xaf, + 0x96, 0x8e, 0x11, 0x1d, 0x98, 0x4c, 0x8b, 0xe0, 0xbb, 0x96, 0x0b, 0x90, 0x08, 0xe7, 0xc6, 0xf3, + 0x60, 0x3a, 0x3d, 0xd4, 0x6c, 0x29, 0x4b, 0x09, 0x27, 0x9e, 0x1b, 0x93, 0xab, 0x55, 0x21, 0x00, + 0x6f, 0x31, 0x1f, 0x64, 0x41, 0x2b, 0x6d, 0x38, 0x97, 0x12, 0x2d, 0xb6, 0xa0, 0xd6, 0xc0, 0xca, + 0xe6, 0x46, 0x7b, 0x1f, 0x26, 0xe4, 0x91, 0x73, 0xaf, 0xe4, 0x00, 0x2b, 0x68, 0xd9, 0x5d, 0x38, + 0xc9, 0x47, 0x9b, 0x49, 0x4f, 0x05, 0x9c, 0x88, 0xfc, 0x54, 0x20, 0x8f, 0x2d, 0xb3, 0x41, 0x97, + 0x04, 0x88, 0xcd, 0xa7, 0x2b, 0x60, 0xe5, 0xe4, 0xc7, 0x31, 0x45, 0xa0, 0x57, 0x78, 0x3c, 0x50, + 0x04, 0x57, 0xa5, 0xa9, 0x4b, 0x91, 0x97, 0x1f, 0x0f, 0xb2, 0xe3, 0xa5, 0xf4, 0x3b, 0x30, 0xca, + 0x05, 0x4b, 0xcd, 0xa5, 0xeb, 0x21, 0x12, 0x72, 0x67, 0x97, 0x2c, 0x32, 0x4a, 0xbf, 0x03, 0x63, + 0xc2, 0xe5, 0x98, 0xd4, 0x9b, 0xc3, 0xcb, 0x94, 0x2e, 0xab, 0x64, 0x98, 0xc6, 0x9a, 0x4c, 0xbb, + 0xd3, 0xb8, 0xa6, 0x52, 0x20, 0x08, 0xe7, 0x44, 0xbb, 0x0f, 0x17, 0xd5, 0x57, 0x15, 0x2b, 0x2a, + 0x35, 0xd2, 0x22, 0x3d, 0x23, 0x53, 0x6f, 0x7a, 0x11, 0x64, 0x52, 0xa4, 0x5b, 0x64, 0xf1, 0x92, + 0x21, 0x07, 0xb2, 0x50, 0xa4, 0x67, 0xe4, 0xfc, 0x36, 0x0b, 0x45, 0x72, 0x22, 0x7b, 0x50, 0x52, + 0x5c, 0x0f, 0x54, 0xb2, 0x61, 0x59, 0xf9, 0x9c, 0x98, 0x7b, 0xa0, 0x4b, 0xdc, 0xfb, 0xf3, 0xaa, + 0xb2, 0x1d, 0xb9, 0x9c, 0x18, 0x35, 0x38, 0x23, 0xf3, 0xe3, 0x5f, 0xc9, 0x04, 0xa1, 0x1b, 0x89, + 0x7c, 0x28, 0xcc, 0x78, 0xa7, 0xde, 0x39, 0xe5, 0x78, 0xa7, 0xbe, 0xb9, 0x7c, 0xba, 0xef, 0xc2, + 0x49, 0x3e, 0xc2, 0x52, 0x3a, 0xf7, 0x73, 0x22, 0xf2, 0xb9, 0x5f, 0x1a, 0x6e, 0xc8, 0xa8, 0xa7, + 0xa1, 0x64, 0x2a, 0xf5, 0x44, 0x44, 0xa9, 0x5e, 0x08, 0xab, 0x6a, 0xc1, 0x84, 0x3c, 0x92, 0x51, + 0xa5, 0x83, 0x17, 0x2d, 0xad, 0xe4, 0x16, 0x95, 0xc0, 0x0a, 0x71, 0x53, 0x2a, 0x58, 0x5e, 0x54, + 0x09, 0x2b, 0x8f, 0x0d, 0xd2, 0xbf, 0x0e, 0x63, 0x42, 0x18, 0x8f, 0xb4, 0x1f, 0xf0, 0x32, 0xf2, + 0x75, 0x45, 0x1a, 0x60, 0xb4, 0x07, 0xa7, 0x13, 0xd1, 0x3c, 0x97, 0xd3, 0x4b, 0x77, 0xa4, 0x0a, + 0x60, 0x1c, 0xc0, 0x19, 0x59, 0x54, 0xcf, 0x95, 0x74, 0x05, 0x9c, 0x60, 0xd7, 0x48, 0xf1, 0xbe, + 0x23, 0x0b, 0x29, 0xde, 0x78, 0xe4, 0x47, 0xaa, 0xc1, 0x78, 0x32, 0x90, 0xe6, 0xe5, 0x2c, 0x1c, + 0x2c, 0xd6, 0x5d, 0xeb, 0xc4, 0xc1, 0x22, 0xca, 0xd6, 0x89, 0xa4, 0x0a, 0x60, 0xec, 0x83, 0x2e, + 0x89, 0xfb, 0x98, 0xcf, 0x44, 0xc1, 0x72, 0x05, 0x70, 0xde, 0x02, 0x60, 0x22, 0x3e, 0x66, 0xd2, + 0xcb, 0x61, 0xaf, 0x79, 0x7e, 0xbd, 0x77, 0x60, 0x94, 0x0b, 0xb8, 0x98, 0x53, 0x8c, 0x0f, 0x2c, + 0xa1, 0xd2, 0xcd, 0xc7, 0x3f, 0xe8, 0x36, 0x4c, 0xc8, 0x83, 0x1f, 0x5e, 0x51, 0xd1, 0xe3, 0x44, + 0x0b, 0x58, 0xd2, 0x84, 0xc9, 0xb4, 0x50, 0x88, 0x6b, 0x99, 0x78, 0x5d, 0x8d, 0xcc, 0x56, 0x64, + 0x9f, 0x18, 0x19, 0xa1, 0xb0, 0x4f, 0x10, 0x95, 0x4f, 0x6a, 0xca, 0x58, 0x07, 0xfd, 0x08, 0xce, + 0xa5, 0xc4, 0x39, 0x2c, 0xa4, 0x2b, 0x13, 0x65, 0x4b, 0xd7, 0xb3, 0x65, 0x05, 0xdc, 0x07, 0x30, + 0x9d, 0x1e, 0x77, 0xb0, 0xa4, 0x54, 0x27, 0x8a, 0x97, 0xbe, 0x94, 0x4b, 0x3c, 0x31, 0xd6, 0x4e, + 0x27, 0x9e, 0x9b, 0xcb, 0xc7, 0xb3, 0x20, 0x25, 0xbf, 0x0d, 0x4b, 0x7d, 0x41, 0xce, 0xe1, 0xa8, + 0x6e, 0xf7, 0x44, 0xa9, 0x2c, 0x1c, 0xe1, 0x76, 0xef, 0x77, 0x35, 0x38, 0xaf, 0x7a, 0xc9, 0xbd, + 0xac, 0xd6, 0x96, 0x28, 0x50, 0xfa, 0x99, 0x82, 0x05, 0x62, 0x26, 0x1f, 0x69, 0x30, 0x93, 0xf1, + 0x2a, 0x7b, 0x35, 0xaf, 0xee, 0x4e, 0x99, 0xd2, 0x8d, 0xe2, 0x65, 0x18, 0x07, 0xee, 0x64, 0xda, + 0x43, 0xec, 0x6b, 0x6a, 0xb5, 0x9c, 0x70, 0x4a, 0x4f, 0x53, 0x3f, 0xae, 0xc6, 0x47, 0x62, 0xc5, + 0xd3, 0xea, 0x4a, 0x1e, 0x9d, 0x4c, 0x3d, 0xbc, 0x56, 0x4c, 0x5e, 0x55, 0x07, 0xd1, 0x8b, 0xea, + 0x5c, 0x75, 0x40, 0x85, 0xf3, 0xd5, 0x81, 0xf0, 0x4a, 0xba, 0x34, 0xfc, 0x9b, 0x4f, 0x1e, 0x2d, + 0x68, 0xeb, 0x2b, 0x9f, 0x7c, 0x36, 0xa3, 0xfd, 0xe8, 0xb3, 0x19, 0xed, 0xbf, 0x3f, 0x9b, 0xd1, + 0x3e, 0xfa, 0x7c, 0xe6, 0xd8, 0x8f, 0x3e, 0x9f, 0x39, 0xf6, 0x5f, 0x9f, 0xcf, 0x1c, 0xbb, 0x33, + 0x99, 0xfc, 0x3f, 0xe9, 0xf1, 0x2b, 0xcf, 0xbd, 0x11, 0x1c, 0x99, 0xff, 0xa5, 0xff, 0x0f, 0x00, + 0x00, 0xff, 0xff, 0xc5, 0xc6, 0x04, 0xaa, 0xc9, 0x60, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -6666,6 +7052,10 @@ type MsgClient interface { ProviderGuildGrant(ctx context.Context, in *MsgProviderGuildGrant, opts ...grpc.CallOption) (*MsgProviderResponse, error) ProviderGuildRevoke(ctx context.Context, in *MsgProviderGuildRevoke, opts ...grpc.CallOption) (*MsgProviderResponse, error) ProviderDelete(ctx context.Context, in *MsgProviderDelete, opts ...grpc.CallOption) (*MsgProviderResponse, error) + ReactorInfuse(ctx context.Context, in *MsgReactorInfuse, opts ...grpc.CallOption) (*MsgReactorInfuseResponse, error) + ReactorDefuse(ctx context.Context, in *MsgReactorDefuse, opts ...grpc.CallOption) (*MsgReactorDefuseResponse, error) + ReactorBeginMigration(ctx context.Context, in *MsgReactorBeginMigration, opts ...grpc.CallOption) (*MsgReactorBeginMigrationResponse, error) + ReactorCancelDefusion(ctx context.Context, in *MsgReactorCancelDefusion, opts ...grpc.CallOption) (*MsgReactorCancelDefusionResponse, error) StructActivate(ctx context.Context, in *MsgStructActivate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) StructDeactivate(ctx context.Context, in *MsgStructDeactivate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) StructBuildInitiate(ctx context.Context, in *MsgStructBuildInitiate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) @@ -7183,6 +7573,42 @@ func (c *msgClient) ProviderDelete(ctx context.Context, in *MsgProviderDelete, o return out, nil } +func (c *msgClient) ReactorInfuse(ctx context.Context, in *MsgReactorInfuse, opts ...grpc.CallOption) (*MsgReactorInfuseResponse, error) { + out := new(MsgReactorInfuseResponse) + err := c.cc.Invoke(ctx, "/structs.structs.Msg/ReactorInfuse", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ReactorDefuse(ctx context.Context, in *MsgReactorDefuse, opts ...grpc.CallOption) (*MsgReactorDefuseResponse, error) { + out := new(MsgReactorDefuseResponse) + err := c.cc.Invoke(ctx, "/structs.structs.Msg/ReactorDefuse", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ReactorBeginMigration(ctx context.Context, in *MsgReactorBeginMigration, opts ...grpc.CallOption) (*MsgReactorBeginMigrationResponse, error) { + out := new(MsgReactorBeginMigrationResponse) + err := c.cc.Invoke(ctx, "/structs.structs.Msg/ReactorBeginMigration", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) ReactorCancelDefusion(ctx context.Context, in *MsgReactorCancelDefusion, opts ...grpc.CallOption) (*MsgReactorCancelDefusionResponse, error) { + out := new(MsgReactorCancelDefusionResponse) + err := c.cc.Invoke(ctx, "/structs.structs.Msg/ReactorCancelDefusion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) StructActivate(ctx context.Context, in *MsgStructActivate, opts ...grpc.CallOption) (*MsgStructStatusResponse, error) { out := new(MsgStructStatusResponse) err := c.cc.Invoke(ctx, "/structs.structs.Msg/StructActivate", in, out, opts...) @@ -7430,6 +7856,10 @@ type MsgServer interface { ProviderGuildGrant(context.Context, *MsgProviderGuildGrant) (*MsgProviderResponse, error) ProviderGuildRevoke(context.Context, *MsgProviderGuildRevoke) (*MsgProviderResponse, error) ProviderDelete(context.Context, *MsgProviderDelete) (*MsgProviderResponse, error) + ReactorInfuse(context.Context, *MsgReactorInfuse) (*MsgReactorInfuseResponse, error) + ReactorDefuse(context.Context, *MsgReactorDefuse) (*MsgReactorDefuseResponse, error) + ReactorBeginMigration(context.Context, *MsgReactorBeginMigration) (*MsgReactorBeginMigrationResponse, error) + ReactorCancelDefusion(context.Context, *MsgReactorCancelDefusion) (*MsgReactorCancelDefusionResponse, error) StructActivate(context.Context, *MsgStructActivate) (*MsgStructStatusResponse, error) StructDeactivate(context.Context, *MsgStructDeactivate) (*MsgStructStatusResponse, error) StructBuildInitiate(context.Context, *MsgStructBuildInitiate) (*MsgStructStatusResponse, error) @@ -7619,6 +8049,18 @@ func (*UnimplementedMsgServer) ProviderGuildRevoke(ctx context.Context, req *Msg func (*UnimplementedMsgServer) ProviderDelete(ctx context.Context, req *MsgProviderDelete) (*MsgProviderResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ProviderDelete not implemented") } +func (*UnimplementedMsgServer) ReactorInfuse(ctx context.Context, req *MsgReactorInfuse) (*MsgReactorInfuseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorInfuse not implemented") +} +func (*UnimplementedMsgServer) ReactorDefuse(ctx context.Context, req *MsgReactorDefuse) (*MsgReactorDefuseResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorDefuse not implemented") +} +func (*UnimplementedMsgServer) ReactorBeginMigration(ctx context.Context, req *MsgReactorBeginMigration) (*MsgReactorBeginMigrationResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorBeginMigration not implemented") +} +func (*UnimplementedMsgServer) ReactorCancelDefusion(ctx context.Context, req *MsgReactorCancelDefusion) (*MsgReactorCancelDefusionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReactorCancelDefusion not implemented") +} func (*UnimplementedMsgServer) StructActivate(ctx context.Context, req *MsgStructActivate) (*MsgStructStatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StructActivate not implemented") } @@ -8659,6 +9101,78 @@ func _Msg_ProviderDelete_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _Msg_ReactorInfuse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorInfuse) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorInfuse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/structs.structs.Msg/ReactorInfuse", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorInfuse(ctx, req.(*MsgReactorInfuse)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ReactorDefuse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorDefuse) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorDefuse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/structs.structs.Msg/ReactorDefuse", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorDefuse(ctx, req.(*MsgReactorDefuse)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ReactorBeginMigration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorBeginMigration) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorBeginMigration(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/structs.structs.Msg/ReactorBeginMigration", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorBeginMigration(ctx, req.(*MsgReactorBeginMigration)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_ReactorCancelDefusion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgReactorCancelDefusion) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).ReactorCancelDefusion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/structs.structs.Msg/ReactorCancelDefusion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).ReactorCancelDefusion(ctx, req.(*MsgReactorCancelDefusion)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_StructActivate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MsgStructActivate) if err := dec(in); err != nil { @@ -9257,6 +9771,22 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "ProviderDelete", Handler: _Msg_ProviderDelete_Handler, }, + { + MethodName: "ReactorInfuse", + Handler: _Msg_ReactorInfuse_Handler, + }, + { + MethodName: "ReactorDefuse", + Handler: _Msg_ReactorDefuse_Handler, + }, + { + MethodName: "ReactorBeginMigration", + Handler: _Msg_ReactorBeginMigration_Handler, + }, + { + MethodName: "ReactorCancelDefusion", + Handler: _Msg_ReactorCancelDefusion_Handler, + }, { MethodName: "StructActivate", Handler: _Msg_StructActivate_Handler, @@ -11646,7 +12176,7 @@ func (m *MsgPlayerResumeResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgStructStatusResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorInfuse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11656,18 +12186,18 @@ func (m *MsgStructStatusResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructStatusResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorInfuse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorInfuse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l { - size, err := m.Struct.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -11675,34 +12205,18 @@ func (m *MsgStructStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) i = encodeVarintTx(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *MsgStructActivate) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x22 + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) + i-- + dAtA[i] = 0x1a } - return dAtA[:n], nil -} - -func (m *MsgStructActivate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgStructActivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) i-- dAtA[i] = 0x12 } @@ -11716,7 +12230,7 @@ func (m *MsgStructActivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgStructDeactivate) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorInfuseResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11726,34 +12240,20 @@ func (m *MsgStructDeactivate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructDeactivate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorInfuseResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructDeactivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorInfuseResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgStructBuildInitiate) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorBeginMigration) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11763,35 +12263,44 @@ func (m *MsgStructBuildInitiate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructBuildInitiate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorBeginMigration) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructBuildInitiate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorBeginMigration) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Slot != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Slot)) - i-- - dAtA[i] = 0x28 + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - if m.OperatingAmbit != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.OperatingAmbit)) + i-- + dAtA[i] = 0x2a + if len(m.ValidatorDstAddress) > 0 { + i -= len(m.ValidatorDstAddress) + copy(dAtA[i:], m.ValidatorDstAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorDstAddress))) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x22 } - if m.StructTypeId != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.StructTypeId)) + if len(m.ValidatorSrcAddress) > 0 { + i -= len(m.ValidatorSrcAddress) + copy(dAtA[i:], m.ValidatorSrcAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorSrcAddress))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if len(m.PlayerId) > 0 { - i -= len(m.PlayerId) - copy(dAtA[i:], m.PlayerId) - i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId))) + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) i-- dAtA[i] = 0x12 } @@ -11805,7 +12314,7 @@ func (m *MsgStructBuildInitiate) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgStructBuildComplete) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorBeginMigrationResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11815,48 +12324,28 @@ func (m *MsgStructBuildComplete) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructBuildComplete) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorBeginMigrationResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructBuildComplete) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorBeginMigrationResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Nonce) > 0 { - i -= len(m.Nonce) - copy(dAtA[i:], m.Nonce) - i = encodeVarintTx(dAtA, i, uint64(len(m.Nonce))) - i-- - dAtA[i] = 0x22 - } - if len(m.Proof) > 0 { - i -= len(m.Proof) - copy(dAtA[i:], m.Proof) - i = encodeVarintTx(dAtA, i, uint64(len(m.Proof))) - i-- - dAtA[i] = 0x1a - } - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa + n10, err10 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CompletionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime):]) + if err10 != nil { + return 0, err10 } + i -= n10 + i = encodeVarintTx(dAtA, i, uint64(n10)) + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *MsgStructBuildCancel) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorDefuse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11866,20 +12355,37 @@ func (m *MsgStructBuildCancel) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructBuildCancel) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorDefuse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructBuildCancel) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorDefuse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) + i-- + dAtA[i] = 0x1a + } + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) i-- dAtA[i] = 0x12 } @@ -11893,7 +12399,7 @@ func (m *MsgStructBuildCancel) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgStructBuildCompleteAndStash) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorDefuseResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11903,65 +12409,38 @@ func (m *MsgStructBuildCompleteAndStash) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructBuildCompleteAndStash) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorDefuseResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructBuildCompleteAndStash) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorDefuseResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.StorageSlot != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.StorageSlot)) - i-- - dAtA[i] = 0x38 - } - if m.StorageAmbit != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.StorageAmbit)) - i-- - dAtA[i] = 0x30 - } - if len(m.StorageDestinationId) > 0 { - i -= len(m.StorageDestinationId) - copy(dAtA[i:], m.StorageDestinationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StorageDestinationId))) - i-- - dAtA[i] = 0x2a - } - if len(m.Nonce) > 0 { - i -= len(m.Nonce) - copy(dAtA[i:], m.Nonce) - i = encodeVarintTx(dAtA, i, uint64(len(m.Nonce))) - i-- - dAtA[i] = 0x22 - } - if len(m.Proof) > 0 { - i -= len(m.Proof) - copy(dAtA[i:], m.Proof) - i = encodeVarintTx(dAtA, i, uint64(len(m.Proof))) - i-- - dAtA[i] = 0x1a - } - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) - i-- - dAtA[i] = 0x12 + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa + i-- + dAtA[i] = 0x12 + n13, err13 := github_com_cosmos_gogoproto_types.StdTimeMarshalTo(m.CompletionTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime):]) + if err13 != nil { + return 0, err13 } + i -= n13 + i = encodeVarintTx(dAtA, i, uint64(n13)) + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *MsgStructDefenseSet) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorCancelDefusion) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -11971,27 +12450,42 @@ func (m *MsgStructDefenseSet) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructDefenseSet) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorCancelDefusion) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructDefenseSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorCancelDefusion) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ProtectedStructId) > 0 { - i -= len(m.ProtectedStructId) - copy(dAtA[i:], m.ProtectedStructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProtectedStructId))) + if m.CreationHeight != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CreationHeight)) + i-- + dAtA[i] = 0x28 + } + { + size, err := m.Amount.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) i-- dAtA[i] = 0x1a } - if len(m.DefenderStructId) > 0 { - i -= len(m.DefenderStructId) - copy(dAtA[i:], m.DefenderStructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.DefenderStructId))) + if len(m.DelegatorAddress) > 0 { + i -= len(m.DelegatorAddress) + copy(dAtA[i:], m.DelegatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DelegatorAddress))) i-- dAtA[i] = 0x12 } @@ -12005,7 +12499,7 @@ func (m *MsgStructDefenseSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgStructDefenseClear) Marshal() (dAtA []byte, err error) { +func (m *MsgReactorCancelDefusionResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12015,34 +12509,20 @@ func (m *MsgStructDefenseClear) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructDefenseClear) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgReactorCancelDefusionResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructDefenseClear) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgReactorCancelDefusionResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.DefenderStructId) > 0 { - i -= len(m.DefenderStructId) - copy(dAtA[i:], m.DefenderStructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.DefenderStructId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgStructMove) Marshal() (dAtA []byte, err error) { +func (m *MsgStructStatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12052,49 +12532,30 @@ func (m *MsgStructMove) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructMove) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructStatusResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructMove) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Slot != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Slot)) - i-- - dAtA[i] = 0x30 - } - if m.Ambit != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Ambit)) - i-- - dAtA[i] = 0x28 - } - if m.LocationType != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.LocationType)) - i-- - dAtA[i] = 0x20 - } - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa + { + size, err := m.Struct.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *MsgStructAttack) Marshal() (dAtA []byte, err error) { +func (m *MsgStructActivate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12104,36 +12565,20 @@ func (m *MsgStructAttack) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructAttack) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructActivate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructAttack) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructActivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.WeaponSystem) > 0 { - i -= len(m.WeaponSystem) - copy(dAtA[i:], m.WeaponSystem) - i = encodeVarintTx(dAtA, i, uint64(len(m.WeaponSystem))) - i-- - dAtA[i] = 0x22 - } - if len(m.TargetStructId) > 0 { - for iNdEx := len(m.TargetStructId) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.TargetStructId[iNdEx]) - copy(dAtA[i:], m.TargetStructId[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.TargetStructId[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(m.OperatingStructId) > 0 { - i -= len(m.OperatingStructId) - copy(dAtA[i:], m.OperatingStructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.OperatingStructId))) + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) i-- dAtA[i] = 0x12 } @@ -12147,7 +12592,7 @@ func (m *MsgStructAttack) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgStructAttackResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructDeactivate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12157,20 +12602,34 @@ func (m *MsgStructAttackResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructAttackResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructDeactivate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructAttackResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructDeactivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgStructStealthActivate) Marshal() (dAtA []byte, err error) { +func (m *MsgStructBuildInitiate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12180,20 +12639,35 @@ func (m *MsgStructStealthActivate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructStealthActivate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructBuildInitiate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructStealthActivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructBuildInitiate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + if m.Slot != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Slot)) + i-- + dAtA[i] = 0x28 + } + if m.OperatingAmbit != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.OperatingAmbit)) + i-- + dAtA[i] = 0x20 + } + if m.StructTypeId != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.StructTypeId)) + i-- + dAtA[i] = 0x18 + } + if len(m.PlayerId) > 0 { + i -= len(m.PlayerId) + copy(dAtA[i:], m.PlayerId) + i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId))) i-- dAtA[i] = 0x12 } @@ -12207,7 +12681,7 @@ func (m *MsgStructStealthActivate) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgStructStealthDeactivate) Marshal() (dAtA []byte, err error) { +func (m *MsgStructBuildComplete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12217,16 +12691,30 @@ func (m *MsgStructStealthDeactivate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructStealthDeactivate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructBuildComplete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructStealthDeactivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructBuildComplete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.Nonce) > 0 { + i -= len(m.Nonce) + copy(dAtA[i:], m.Nonce) + i = encodeVarintTx(dAtA, i, uint64(len(m.Nonce))) + i-- + dAtA[i] = 0x22 + } + if len(m.Proof) > 0 { + i -= len(m.Proof) + copy(dAtA[i:], m.Proof) + i = encodeVarintTx(dAtA, i, uint64(len(m.Proof))) + i-- + dAtA[i] = 0x1a + } if len(m.StructId) > 0 { i -= len(m.StructId) copy(dAtA[i:], m.StructId) @@ -12244,7 +12732,7 @@ func (m *MsgStructStealthDeactivate) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgStructGeneratorInfuse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructBuildCancel) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12254,23 +12742,16 @@ func (m *MsgStructGeneratorInfuse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructGeneratorInfuse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructBuildCancel) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructGeneratorInfuse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructBuildCancel) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.InfuseAmount) > 0 { - i -= len(m.InfuseAmount) - copy(dAtA[i:], m.InfuseAmount) - i = encodeVarintTx(dAtA, i, uint64(len(m.InfuseAmount))) - i-- - dAtA[i] = 0x1a - } if len(m.StructId) > 0 { i -= len(m.StructId) copy(dAtA[i:], m.StructId) @@ -12288,7 +12769,7 @@ func (m *MsgStructGeneratorInfuse) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *MsgStructGeneratorStatusResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructBuildCompleteAndStash) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12298,39 +12779,33 @@ func (m *MsgStructGeneratorStatusResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructGeneratorStatusResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructBuildCompleteAndStash) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructGeneratorStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructBuildCompleteAndStash) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - return len(dAtA) - i, nil -} - -func (m *MsgStructOreMinerComplete) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err + if m.StorageSlot != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.StorageSlot)) + i-- + dAtA[i] = 0x38 + } + if m.StorageAmbit != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.StorageAmbit)) + i-- + dAtA[i] = 0x30 + } + if len(m.StorageDestinationId) > 0 { + i -= len(m.StorageDestinationId) + copy(dAtA[i:], m.StorageDestinationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StorageDestinationId))) + i-- + dAtA[i] = 0x2a } - return dAtA[:n], nil -} - -func (m *MsgStructOreMinerComplete) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgStructOreMinerComplete) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l if len(m.Nonce) > 0 { i -= len(m.Nonce) copy(dAtA[i:], m.Nonce) @@ -12362,40 +12837,7 @@ func (m *MsgStructOreMinerComplete) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *MsgStructOreMinerStatusResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgStructOreMinerStatusResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgStructOreMinerStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Struct.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *MsgStructOreRefineryComplete) Marshal() (dAtA []byte, err error) { +func (m *MsgStructDefenseSet) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12405,34 +12847,27 @@ func (m *MsgStructOreRefineryComplete) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructOreRefineryComplete) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructDefenseSet) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructOreRefineryComplete) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructDefenseSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.Nonce) > 0 { - i -= len(m.Nonce) - copy(dAtA[i:], m.Nonce) - i = encodeVarintTx(dAtA, i, uint64(len(m.Nonce))) - i-- - dAtA[i] = 0x22 - } - if len(m.Proof) > 0 { - i -= len(m.Proof) - copy(dAtA[i:], m.Proof) - i = encodeVarintTx(dAtA, i, uint64(len(m.Proof))) + if len(m.ProtectedStructId) > 0 { + i -= len(m.ProtectedStructId) + copy(dAtA[i:], m.ProtectedStructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProtectedStructId))) i-- dAtA[i] = 0x1a } - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + if len(m.DefenderStructId) > 0 { + i -= len(m.DefenderStructId) + copy(dAtA[i:], m.DefenderStructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.DefenderStructId))) i-- dAtA[i] = 0x12 } @@ -12446,40 +12881,7 @@ func (m *MsgStructOreRefineryComplete) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgStructOreRefineryStatusResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgStructOreRefineryStatusResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgStructOreRefineryStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - { - size, err := m.Struct.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *MsgStructStorageStash) Marshal() (dAtA []byte, err error) { +func (m *MsgStructDefenseClear) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12489,37 +12891,20 @@ func (m *MsgStructStorageStash) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructStorageStash) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructDefenseClear) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructStorageStash) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructDefenseClear) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Slot != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Slot)) - i-- - dAtA[i] = 0x28 - } - if m.Ambit != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Ambit)) - i-- - dAtA[i] = 0x20 - } - if len(m.LocationId) > 0 { - i -= len(m.LocationId) - copy(dAtA[i:], m.LocationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.LocationId))) - i-- - dAtA[i] = 0x1a - } - if len(m.StructId) > 0 { - i -= len(m.StructId) - copy(dAtA[i:], m.StructId) - i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + if len(m.DefenderStructId) > 0 { + i -= len(m.DefenderStructId) + copy(dAtA[i:], m.DefenderStructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.DefenderStructId))) i-- dAtA[i] = 0x12 } @@ -12533,7 +12918,7 @@ func (m *MsgStructStorageStash) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgStructStorageRecall) Marshal() (dAtA []byte, err error) { +func (m *MsgStructMove) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12543,42 +12928,30 @@ func (m *MsgStructStorageRecall) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgStructStorageRecall) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructMove) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgStructStorageRecall) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructMove) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Activate { - i-- - if m.Activate { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } if m.Slot != 0 { i = encodeVarintTx(dAtA, i, uint64(m.Slot)) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x30 } if m.Ambit != 0 { i = encodeVarintTx(dAtA, i, uint64(m.Ambit)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x28 } - if len(m.LocationId) > 0 { - i -= len(m.LocationId) - copy(dAtA[i:], m.LocationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.LocationId))) + if m.LocationType != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.LocationType)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x20 } if len(m.StructId) > 0 { i -= len(m.StructId) @@ -12597,7 +12970,7 @@ func (m *MsgStructStorageRecall) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgSubstationCreate) Marshal() (dAtA []byte, err error) { +func (m *MsgStructAttack) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12607,27 +12980,36 @@ func (m *MsgSubstationCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructAttack) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructAttack) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.AllocationId) > 0 { - i -= len(m.AllocationId) - copy(dAtA[i:], m.AllocationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AllocationId))) + if len(m.WeaponSystem) > 0 { + i -= len(m.WeaponSystem) + copy(dAtA[i:], m.WeaponSystem) + i = encodeVarintTx(dAtA, i, uint64(len(m.WeaponSystem))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 } - if len(m.Owner) > 0 { - i -= len(m.Owner) - copy(dAtA[i:], m.Owner) - i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) + if len(m.TargetStructId) > 0 { + for iNdEx := len(m.TargetStructId) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.TargetStructId[iNdEx]) + copy(dAtA[i:], m.TargetStructId[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.TargetStructId[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.OperatingStructId) > 0 { + i -= len(m.OperatingStructId) + copy(dAtA[i:], m.OperatingStructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.OperatingStructId))) i-- dAtA[i] = 0x12 } @@ -12641,7 +13023,7 @@ func (m *MsgSubstationCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSubstationCreateResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructAttackResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12651,27 +13033,20 @@ func (m *MsgSubstationCreateResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationCreateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructAttackResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructAttackResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.SubstationId) > 0 { - i -= len(m.SubstationId) - copy(dAtA[i:], m.SubstationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgSubstationDelete) Marshal() (dAtA []byte, err error) { +func (m *MsgStructStealthActivate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12681,27 +13056,20 @@ func (m *MsgSubstationDelete) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationDelete) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructStealthActivate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructStealthActivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.MigrationSubstationId) > 0 { - i -= len(m.MigrationSubstationId) - copy(dAtA[i:], m.MigrationSubstationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.MigrationSubstationId))) - i-- - dAtA[i] = 0x1a - } - if len(m.SubstationId) > 0 { - i -= len(m.SubstationId) - copy(dAtA[i:], m.SubstationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) i-- dAtA[i] = 0x12 } @@ -12715,7 +13083,7 @@ func (m *MsgSubstationDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgSubstationDeleteResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructStealthDeactivate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12725,20 +13093,34 @@ func (m *MsgSubstationDeleteResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationDeleteResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructStealthDeactivate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationDeleteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructStealthDeactivate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgSubstationAllocationConnect) Marshal() (dAtA []byte, err error) { +func (m *MsgStructGeneratorInfuse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12748,27 +13130,27 @@ func (m *MsgSubstationAllocationConnect) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationAllocationConnect) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructGeneratorInfuse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationAllocationConnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructGeneratorInfuse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.DestinationId) > 0 { - i -= len(m.DestinationId) - copy(dAtA[i:], m.DestinationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.DestinationId))) + if len(m.InfuseAmount) > 0 { + i -= len(m.InfuseAmount) + copy(dAtA[i:], m.InfuseAmount) + i = encodeVarintTx(dAtA, i, uint64(len(m.InfuseAmount))) i-- dAtA[i] = 0x1a } - if len(m.AllocationId) > 0 { - i -= len(m.AllocationId) - copy(dAtA[i:], m.AllocationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AllocationId))) + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) i-- dAtA[i] = 0x12 } @@ -12782,7 +13164,7 @@ func (m *MsgSubstationAllocationConnect) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgSubstationAllocationConnectResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructGeneratorStatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12792,12 +13174,12 @@ func (m *MsgSubstationAllocationConnectResponse) Marshal() (dAtA []byte, err err return dAtA[:n], nil } -func (m *MsgSubstationAllocationConnectResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructGeneratorStatusResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationAllocationConnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructGeneratorStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -12805,7 +13187,7 @@ func (m *MsgSubstationAllocationConnectResponse) MarshalToSizedBuffer(dAtA []byt return len(dAtA) - i, nil } -func (m *MsgSubstationAllocationDisconnect) Marshal() (dAtA []byte, err error) { +func (m *MsgStructOreMinerComplete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12815,20 +13197,34 @@ func (m *MsgSubstationAllocationDisconnect) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationAllocationDisconnect) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructOreMinerComplete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationAllocationDisconnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructOreMinerComplete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.AllocationId) > 0 { - i -= len(m.AllocationId) - copy(dAtA[i:], m.AllocationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AllocationId))) + if len(m.Nonce) > 0 { + i -= len(m.Nonce) + copy(dAtA[i:], m.Nonce) + i = encodeVarintTx(dAtA, i, uint64(len(m.Nonce))) + i-- + dAtA[i] = 0x22 + } + if len(m.Proof) > 0 { + i -= len(m.Proof) + copy(dAtA[i:], m.Proof) + i = encodeVarintTx(dAtA, i, uint64(len(m.Proof))) + i-- + dAtA[i] = 0x1a + } + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) i-- dAtA[i] = 0x12 } @@ -12842,7 +13238,7 @@ func (m *MsgSubstationAllocationDisconnect) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } -func (m *MsgSubstationAllocationDisconnectResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructOreMinerStatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12852,20 +13248,30 @@ func (m *MsgSubstationAllocationDisconnectResponse) Marshal() (dAtA []byte, err return dAtA[:n], nil } -func (m *MsgSubstationAllocationDisconnectResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructOreMinerStatusResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationAllocationDisconnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructOreMinerStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + { + size, err := m.Struct.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *MsgSubstationPlayerConnect) Marshal() (dAtA []byte, err error) { +func (m *MsgStructOreRefineryComplete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12875,27 +13281,34 @@ func (m *MsgSubstationPlayerConnect) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationPlayerConnect) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructOreRefineryComplete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationPlayerConnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructOreRefineryComplete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.PlayerId) > 0 { - i -= len(m.PlayerId) - copy(dAtA[i:], m.PlayerId) - i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId))) + if len(m.Nonce) > 0 { + i -= len(m.Nonce) + copy(dAtA[i:], m.Nonce) + i = encodeVarintTx(dAtA, i, uint64(len(m.Nonce))) + i-- + dAtA[i] = 0x22 + } + if len(m.Proof) > 0 { + i -= len(m.Proof) + copy(dAtA[i:], m.Proof) + i = encodeVarintTx(dAtA, i, uint64(len(m.Proof))) i-- dAtA[i] = 0x1a } - if len(m.SubstationId) > 0 { - i -= len(m.SubstationId) - copy(dAtA[i:], m.SubstationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) i-- dAtA[i] = 0x12 } @@ -12909,7 +13322,7 @@ func (m *MsgSubstationPlayerConnect) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgSubstationPlayerConnectResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructOreRefineryStatusResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12919,20 +13332,30 @@ func (m *MsgSubstationPlayerConnectResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgSubstationPlayerConnectResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructOreRefineryStatusResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationPlayerConnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructOreRefineryStatusResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + { + size, err := m.Struct.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa return len(dAtA) - i, nil } -func (m *MsgSubstationPlayerDisconnect) Marshal() (dAtA []byte, err error) { +func (m *MsgStructStorageStash) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12942,20 +13365,37 @@ func (m *MsgSubstationPlayerDisconnect) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationPlayerDisconnect) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructStorageStash) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationPlayerDisconnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructStorageStash) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.PlayerId) > 0 { - i -= len(m.PlayerId) - copy(dAtA[i:], m.PlayerId) - i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId))) + if m.Slot != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Slot)) + i-- + dAtA[i] = 0x28 + } + if m.Ambit != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Ambit)) + i-- + dAtA[i] = 0x20 + } + if len(m.LocationId) > 0 { + i -= len(m.LocationId) + copy(dAtA[i:], m.LocationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.LocationId))) + i-- + dAtA[i] = 0x1a + } + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) i-- dAtA[i] = 0x12 } @@ -12969,7 +13409,7 @@ func (m *MsgSubstationPlayerDisconnect) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgSubstationPlayerDisconnectResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgStructStorageRecall) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -12979,20 +13419,61 @@ func (m *MsgSubstationPlayerDisconnectResponse) Marshal() (dAtA []byte, err erro return dAtA[:n], nil } -func (m *MsgSubstationPlayerDisconnectResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgStructStorageRecall) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationPlayerDisconnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgStructStorageRecall) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if m.Activate { + i-- + if m.Activate { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.Slot != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Slot)) + i-- + dAtA[i] = 0x28 + } + if m.Ambit != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Ambit)) + i-- + dAtA[i] = 0x20 + } + if len(m.LocationId) > 0 { + i -= len(m.LocationId) + copy(dAtA[i:], m.LocationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.LocationId))) + i-- + dAtA[i] = 0x1a + } + if len(m.StructId) > 0 { + i -= len(m.StructId) + copy(dAtA[i:], m.StructId) + i = encodeVarintTx(dAtA, i, uint64(len(m.StructId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgSubstationPlayerMigrate) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationCreate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13002,29 +13483,27 @@ func (m *MsgSubstationPlayerMigrate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgSubstationPlayerMigrate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationCreate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationPlayerMigrate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.PlayerId) > 0 { - for iNdEx := len(m.PlayerId) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.PlayerId[iNdEx]) - copy(dAtA[i:], m.PlayerId[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId[iNdEx]))) - i-- - dAtA[i] = 0x1a - } + if len(m.AllocationId) > 0 { + i -= len(m.AllocationId) + copy(dAtA[i:], m.AllocationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AllocationId))) + i-- + dAtA[i] = 0x1a } - if len(m.SubstationId) > 0 { - i -= len(m.SubstationId) - copy(dAtA[i:], m.SubstationId) - i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) + if len(m.Owner) > 0 { + i -= len(m.Owner) + copy(dAtA[i:], m.Owner) + i = encodeVarintTx(dAtA, i, uint64(len(m.Owner))) i-- dAtA[i] = 0x12 } @@ -13038,7 +13517,7 @@ func (m *MsgSubstationPlayerMigrate) MarshalToSizedBuffer(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *MsgSubstationPlayerMigrateResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationCreateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13048,20 +13527,27 @@ func (m *MsgSubstationPlayerMigrateResponse) Marshal() (dAtA []byte, err error) return dAtA[:n], nil } -func (m *MsgSubstationPlayerMigrateResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationCreateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgSubstationPlayerMigrateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationCreateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l + if len(m.SubstationId) > 0 { + i -= len(m.SubstationId) + copy(dAtA[i:], m.SubstationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *MsgAgreementOpen) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13071,30 +13557,27 @@ func (m *MsgAgreementOpen) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAgreementOpen) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationDelete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAgreementOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.Capacity != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Capacity)) - i-- - dAtA[i] = 0x20 - } - if m.Duration != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.Duration)) + if len(m.MigrationSubstationId) > 0 { + i -= len(m.MigrationSubstationId) + copy(dAtA[i:], m.MigrationSubstationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.MigrationSubstationId))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if len(m.SubstationId) > 0 { + i -= len(m.SubstationId) + copy(dAtA[i:], m.SubstationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) i-- dAtA[i] = 0x12 } @@ -13108,7 +13591,7 @@ func (m *MsgAgreementOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgAgreementClose) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationDeleteResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13118,34 +13601,20 @@ func (m *MsgAgreementClose) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAgreementClose) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationDeleteResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAgreementClose) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationDeleteResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.AgreementId) > 0 { - i -= len(m.AgreementId) - copy(dAtA[i:], m.AgreementId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgAgreementCapacityIncrease) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationAllocationConnect) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13155,25 +13624,27 @@ func (m *MsgAgreementCapacityIncrease) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAgreementCapacityIncrease) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationConnect) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAgreementCapacityIncrease) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationConnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CapacityIncrease != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CapacityIncrease)) + if len(m.DestinationId) > 0 { + i -= len(m.DestinationId) + copy(dAtA[i:], m.DestinationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.DestinationId))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if len(m.AgreementId) > 0 { - i -= len(m.AgreementId) - copy(dAtA[i:], m.AgreementId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) + if len(m.AllocationId) > 0 { + i -= len(m.AllocationId) + copy(dAtA[i:], m.AllocationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AllocationId))) i-- dAtA[i] = 0x12 } @@ -13187,7 +13658,7 @@ func (m *MsgAgreementCapacityIncrease) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgAgreementCapacityDecrease) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationAllocationConnectResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13197,39 +13668,20 @@ func (m *MsgAgreementCapacityDecrease) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAgreementCapacityDecrease) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationConnectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAgreementCapacityDecrease) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationConnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.CapacityDecrease != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CapacityDecrease)) - i-- - dAtA[i] = 0x18 - } - if len(m.AgreementId) > 0 { - i -= len(m.AgreementId) - copy(dAtA[i:], m.AgreementId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgAgreementDurationIncrease) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationAllocationDisconnect) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13239,25 +13691,20 @@ func (m *MsgAgreementDurationIncrease) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAgreementDurationIncrease) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationDisconnect) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAgreementDurationIncrease) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationDisconnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.DurationIncrease != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.DurationIncrease)) - i-- - dAtA[i] = 0x18 - } - if len(m.AgreementId) > 0 { - i -= len(m.AgreementId) - copy(dAtA[i:], m.AgreementId) - i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) + if len(m.AllocationId) > 0 { + i -= len(m.AllocationId) + copy(dAtA[i:], m.AllocationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AllocationId))) i-- dAtA[i] = 0x12 } @@ -13271,7 +13718,7 @@ func (m *MsgAgreementDurationIncrease) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *MsgAgreementResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationAllocationDisconnectResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13281,12 +13728,12 @@ func (m *MsgAgreementResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgAgreementResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationDisconnectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAgreementResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationAllocationDisconnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13294,7 +13741,7 @@ func (m *MsgAgreementResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProviderCreate) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationPlayerConnect) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13304,71 +13751,23 @@ func (m *MsgProviderCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerConnect) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerConnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.DurationMaximum != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.DurationMaximum)) - i-- - dAtA[i] = 0x50 - } - if m.DurationMinimum != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.DurationMinimum)) - i-- - dAtA[i] = 0x48 - } - if m.CapacityMaximum != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CapacityMaximum)) - i-- - dAtA[i] = 0x40 - } - if m.CapacityMinimum != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.CapacityMinimum)) - i-- - dAtA[i] = 0x38 - } - { - size := m.ConsumerCancellationPenalty.Size() - i -= size - if _, err := m.ConsumerCancellationPenalty.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x32 - { - size := m.ProviderCancellationPenalty.Size() - i -= size - if _, err := m.ProviderCancellationPenalty.MarshalTo(dAtA[i:]); err != nil { - return 0, err - } - i = encodeVarintTx(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x2a - if m.AccessPolicy != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.AccessPolicy)) + if len(m.PlayerId) > 0 { + i -= len(m.PlayerId) + copy(dAtA[i:], m.PlayerId) + i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId))) i-- - dAtA[i] = 0x20 - } - { - size, err := m.Rate.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintTx(dAtA, i, uint64(size)) + dAtA[i] = 0x1a } - i-- - dAtA[i] = 0x1a if len(m.SubstationId) > 0 { i -= len(m.SubstationId) copy(dAtA[i:], m.SubstationId) @@ -13386,7 +13785,7 @@ func (m *MsgProviderCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProviderWithdrawBalance) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationPlayerConnectResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13396,41 +13795,20 @@ func (m *MsgProviderWithdrawBalance) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderWithdrawBalance) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerConnectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderWithdrawBalance) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerConnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.DestinationAddress) > 0 { - i -= len(m.DestinationAddress) - copy(dAtA[i:], m.DestinationAddress) - i = encodeVarintTx(dAtA, i, uint64(len(m.DestinationAddress))) - i-- - dAtA[i] = 0x1a - } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgProviderUpdateCapacityMinimum) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationPlayerDisconnect) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13440,25 +13818,20 @@ func (m *MsgProviderUpdateCapacityMinimum) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderUpdateCapacityMinimum) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerDisconnect) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderUpdateCapacityMinimum) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerDisconnect) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NewMinimumCapacity != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.NewMinimumCapacity)) - i-- - dAtA[i] = 0x18 - } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if len(m.PlayerId) > 0 { + i -= len(m.PlayerId) + copy(dAtA[i:], m.PlayerId) + i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId))) i-- dAtA[i] = 0x12 } @@ -13472,7 +13845,7 @@ func (m *MsgProviderUpdateCapacityMinimum) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgProviderUpdateCapacityMaximum) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationPlayerDisconnectResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13482,39 +13855,20 @@ func (m *MsgProviderUpdateCapacityMaximum) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderUpdateCapacityMaximum) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerDisconnectResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderUpdateCapacityMaximum) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerDisconnectResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NewMaximumCapacity != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.NewMaximumCapacity)) - i-- - dAtA[i] = 0x18 - } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Creator) > 0 { - i -= len(m.Creator) - copy(dAtA[i:], m.Creator) - i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *MsgProviderUpdateDurationMinimum) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationPlayerMigrate) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13524,25 +13878,29 @@ func (m *MsgProviderUpdateDurationMinimum) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderUpdateDurationMinimum) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerMigrate) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderUpdateDurationMinimum) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerMigrate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NewMinimumDuration != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.NewMinimumDuration)) - i-- - dAtA[i] = 0x18 + if len(m.PlayerId) > 0 { + for iNdEx := len(m.PlayerId) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.PlayerId[iNdEx]) + copy(dAtA[i:], m.PlayerId[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.PlayerId[iNdEx]))) + i-- + dAtA[i] = 0x1a + } } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if len(m.SubstationId) > 0 { + i -= len(m.SubstationId) + copy(dAtA[i:], m.SubstationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) i-- dAtA[i] = 0x12 } @@ -13556,7 +13914,7 @@ func (m *MsgProviderUpdateDurationMinimum) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgProviderUpdateDurationMaximum) Marshal() (dAtA []byte, err error) { +func (m *MsgSubstationPlayerMigrateResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13566,18 +13924,46 @@ func (m *MsgProviderUpdateDurationMaximum) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderUpdateDurationMaximum) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerMigrateResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderUpdateDurationMaximum) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgSubstationPlayerMigrateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.NewMaximumDuration != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.NewMaximumDuration)) + return len(dAtA) - i, nil +} + +func (m *MsgAgreementOpen) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgAgreementOpen) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgAgreementOpen) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Capacity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Capacity)) + i-- + dAtA[i] = 0x20 + } + if m.Duration != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.Duration)) i-- dAtA[i] = 0x18 } @@ -13598,7 +13984,7 @@ func (m *MsgProviderUpdateDurationMaximum) MarshalToSizedBuffer(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *MsgProviderUpdateAccessPolicy) Marshal() (dAtA []byte, err error) { +func (m *MsgAgreementClose) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13608,25 +13994,20 @@ func (m *MsgProviderUpdateAccessPolicy) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderUpdateAccessPolicy) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAgreementClose) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderUpdateAccessPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAgreementClose) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if m.AccessPolicy != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.AccessPolicy)) - i-- - dAtA[i] = 0x18 - } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if len(m.AgreementId) > 0 { + i -= len(m.AgreementId) + copy(dAtA[i:], m.AgreementId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) i-- dAtA[i] = 0x12 } @@ -13640,7 +14021,7 @@ func (m *MsgProviderUpdateAccessPolicy) MarshalToSizedBuffer(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *MsgProviderGuildGrant) Marshal() (dAtA []byte, err error) { +func (m *MsgAgreementCapacityIncrease) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13650,29 +14031,25 @@ func (m *MsgProviderGuildGrant) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderGuildGrant) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAgreementCapacityIncrease) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderGuildGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAgreementCapacityIncrease) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.GuildId) > 0 { - for iNdEx := len(m.GuildId) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.GuildId[iNdEx]) - copy(dAtA[i:], m.GuildId[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.GuildId[iNdEx]))) - i-- - dAtA[i] = 0x1a - } + if m.CapacityIncrease != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CapacityIncrease)) + i-- + dAtA[i] = 0x18 } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if len(m.AgreementId) > 0 { + i -= len(m.AgreementId) + copy(dAtA[i:], m.AgreementId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) i-- dAtA[i] = 0x12 } @@ -13686,7 +14063,7 @@ func (m *MsgProviderGuildGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProviderGuildRevoke) Marshal() (dAtA []byte, err error) { +func (m *MsgAgreementCapacityDecrease) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13696,29 +14073,25 @@ func (m *MsgProviderGuildRevoke) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderGuildRevoke) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAgreementCapacityDecrease) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderGuildRevoke) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAgreementCapacityDecrease) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.GuildId) > 0 { - for iNdEx := len(m.GuildId) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.GuildId[iNdEx]) - copy(dAtA[i:], m.GuildId[iNdEx]) - i = encodeVarintTx(dAtA, i, uint64(len(m.GuildId[iNdEx]))) - i-- - dAtA[i] = 0x1a - } + if m.CapacityDecrease != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CapacityDecrease)) + i-- + dAtA[i] = 0x18 } - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if len(m.AgreementId) > 0 { + i -= len(m.AgreementId) + copy(dAtA[i:], m.AgreementId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) i-- dAtA[i] = 0x12 } @@ -13732,7 +14105,7 @@ func (m *MsgProviderGuildRevoke) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *MsgProviderDelete) Marshal() (dAtA []byte, err error) { +func (m *MsgAgreementDurationIncrease) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13742,20 +14115,25 @@ func (m *MsgProviderDelete) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderDelete) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAgreementDurationIncrease) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAgreementDurationIncrease) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int _ = l - if len(m.ProviderId) > 0 { - i -= len(m.ProviderId) - copy(dAtA[i:], m.ProviderId) - i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + if m.DurationIncrease != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.DurationIncrease)) + i-- + dAtA[i] = 0x18 + } + if len(m.AgreementId) > 0 { + i -= len(m.AgreementId) + copy(dAtA[i:], m.AgreementId) + i = encodeVarintTx(dAtA, i, uint64(len(m.AgreementId))) i-- dAtA[i] = 0x12 } @@ -13769,7 +14147,7 @@ func (m *MsgProviderDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgProviderResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgAgreementResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -13779,12 +14157,12 @@ func (m *MsgProviderResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgProviderResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgAgreementResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgProviderResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgAgreementResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -13792,437 +14170,540 @@ func (m *MsgProviderResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgUpdateParams) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Authority) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderCreate) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - l = m.Params.Size() - n += 1 + l + sovTx(uint64(l)) - return n + return dAtA[:n], nil } -func (m *MsgUpdateParamsResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n +func (m *MsgProviderCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgAddressRegister) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.DurationMaximum != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.DurationMaximum)) + i-- + dAtA[i] = 0x50 } - l = len(m.Address) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.DurationMinimum != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.DurationMinimum)) + i-- + dAtA[i] = 0x48 } - l = len(m.ProofPubKey) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.CapacityMaximum != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CapacityMaximum)) + i-- + dAtA[i] = 0x40 } - l = len(m.ProofSignature) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.CapacityMinimum != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.CapacityMinimum)) + i-- + dAtA[i] = 0x38 } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) + { + size := m.ConsumerCancellationPenalty.Size() + i -= size + if _, err := m.ConsumerCancellationPenalty.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) } - return n -} - -func (m *MsgAddressRegisterResponse) Size() (n int) { - if m == nil { - return 0 + i-- + dAtA[i] = 0x32 + { + size := m.ProviderCancellationPenalty.Size() + i -= size + if _, err := m.ProviderCancellationPenalty.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintTx(dAtA, i, uint64(size)) } - var l int - _ = l - return n -} - -func (m *MsgAddressRevoke) Size() (n int) { - if m == nil { - return 0 + i-- + dAtA[i] = 0x2a + if m.AccessPolicy != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.AccessPolicy)) + i-- + dAtA[i] = 0x20 } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + { + size, err := m.Rate.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) } - l = len(m.Address) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + i-- + dAtA[i] = 0x1a + if len(m.SubstationId) > 0 { + i -= len(m.SubstationId) + copy(dAtA[i:], m.SubstationId) + i = encodeVarintTx(dAtA, i, uint64(len(m.SubstationId))) + i-- + dAtA[i] = 0x12 } - return n + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgAddressRevokeResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProviderWithdrawBalance) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgAllocationCreate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderWithdrawBalance) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderWithdrawBalance) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Controller) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.SourceObjectId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.DestinationAddress) > 0 { + i -= len(m.DestinationAddress) + copy(dAtA[i:], m.DestinationAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.DestinationAddress))) + i-- + dAtA[i] = 0x1a } - if m.AllocationType != 0 { - n += 1 + sovTx(uint64(m.AllocationType)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - if m.Power != 0 { - n += 1 + sovTx(uint64(m.Power)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgAllocationCreateResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderUpdateCapacityMinimum) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgAllocationDelete) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderUpdateCapacityMinimum) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderUpdateCapacityMinimum) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.NewMinimumCapacity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NewMinimumCapacity)) + i-- + dAtA[i] = 0x18 } - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - return n + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgAllocationDeleteResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderUpdateCapacityMaximum) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgAllocationUpdate) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderUpdateCapacityMaximum) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderUpdateCapacityMaximum) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.NewMaximumCapacity != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NewMaximumCapacity)) + i-- + dAtA[i] = 0x18 } - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - if m.Power != 0 { - n += 1 + sovTx(uint64(m.Power)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgAllocationUpdateResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderUpdateDurationMinimum) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgAllocationTransfer) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderUpdateDurationMinimum) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderUpdateDurationMinimum) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.NewMinimumDuration != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NewMinimumDuration)) + i-- + dAtA[i] = 0x18 } - l = len(m.Controller) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - return n + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgAllocationTransferResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AllocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderUpdateDurationMaximum) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgFleetMove) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderUpdateDurationMaximum) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderUpdateDurationMaximum) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.NewMaximumDuration != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.NewMaximumDuration)) + i-- + dAtA[i] = 0x18 } - l = len(m.FleetId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - l = len(m.DestinationLocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgFleetMoveResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Fleet != nil { - l = m.Fleet.Size() - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderUpdateAccessPolicy) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *MsgGuildBankMint) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderUpdateAccessPolicy) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderUpdateAccessPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.AccessPolicy != 0 { + i = encodeVarintTx(dAtA, i, uint64(m.AccessPolicy)) + i-- + dAtA[i] = 0x18 } - if m.AmountAlpha != 0 { - n += 1 + sovTx(uint64(m.AmountAlpha)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - if m.AmountToken != 0 { - n += 1 + sovTx(uint64(m.AmountToken)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgGuildBankMintResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProviderGuildGrant) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgGuildBankRedeem) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderGuildGrant) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderGuildGrant) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.GuildId) > 0 { + for iNdEx := len(m.GuildId) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.GuildId[iNdEx]) + copy(dAtA[i:], m.GuildId[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.GuildId[iNdEx]))) + i-- + dAtA[i] = 0x1a + } } - l = m.AmountToken.Size() - n += 1 + l + sovTx(uint64(l)) - return n + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 + } + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *MsgGuildBankRedeemResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProviderGuildRevoke) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgGuildBankConfiscateAndBurn) Size() (n int) { - if m == nil { - return 0 - } +func (m *MsgProviderGuildRevoke) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderGuildRevoke) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.GuildId) > 0 { + for iNdEx := len(m.GuildId) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.GuildId[iNdEx]) + copy(dAtA[i:], m.GuildId[iNdEx]) + i = encodeVarintTx(dAtA, i, uint64(len(m.GuildId[iNdEx]))) + i-- + dAtA[i] = 0x1a + } } - l = len(m.Address) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - if m.AmountToken != 0 { - n += 1 + sovTx(uint64(m.AmountToken)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgGuildBankConfiscateAndBurnResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProviderDelete) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } - var l int - _ = l - return n + return dAtA[:n], nil } -func (m *MsgGuildCreate) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Endpoint) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) +func (m *MsgProviderDelete) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.ProviderId) > 0 { + i -= len(m.ProviderId) + copy(dAtA[i:], m.ProviderId) + i = encodeVarintTx(dAtA, i, uint64(len(m.ProviderId))) + i-- + dAtA[i] = 0x12 } - l = len(m.EntrySubstationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if len(m.Creator) > 0 { + i -= len(m.Creator) + copy(dAtA[i:], m.Creator) + i = encodeVarintTx(dAtA, i, uint64(len(m.Creator))) + i-- + dAtA[i] = 0xa } - return n + return len(dAtA) - i, nil } -func (m *MsgGuildCreateResponse) Size() (n int) { - if m == nil { - return 0 +func (m *MsgProviderResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err } + return dAtA[:n], nil +} + +func (m *MsgProviderResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgProviderResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i var l int _ = l - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n + return len(dAtA) - i, nil } -func (m *MsgGuildUpdateOwnerId) Size() (n int) { +func encodeVarintTx(dAtA []byte, offset int, v uint64) int { + offset -= sovTx(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *MsgUpdateParams) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Owner) + l = len(m.Authority) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = m.Params.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgGuildUpdateEntrySubstationId) Size() (n int) { +func (m *MsgUpdateParamsResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.EntrySubstationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } return n } -func (m *MsgGuildUpdateEndpoint) Size() (n int) { +func (m *MsgAddressRegister) Size() (n int) { if m == nil { return 0 } @@ -14232,58 +14713,38 @@ func (m *MsgGuildUpdateEndpoint) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Endpoint) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - return n -} - -func (m *MsgGuildUpdateJoinInfusionMinimum) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Creator) + l = len(m.ProofPubKey) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) + l = len(m.ProofSignature) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.JoinInfusionMinimum != 0 { - n += 1 + sovTx(uint64(m.JoinInfusionMinimum)) + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) } return n } -func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Size() (n int) { +func (m *MsgAddressRegisterResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.GuildJoinBypassLevel != 0 { - n += 1 + sovTx(uint64(m.GuildJoinBypassLevel)) - } return n } -func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Size() (n int) { +func (m *MsgAddressRevoke) Size() (n int) { if m == nil { return 0 } @@ -14293,17 +14754,14 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.GuildJoinBypassLevel != 0 { - n += 1 + sovTx(uint64(m.GuildJoinBypassLevel)) - } return n } -func (m *MsgGuildUpdateResponse) Size() (n int) { +func (m *MsgAddressRevokeResponse) Size() (n int) { if m == nil { return 0 } @@ -14312,7 +14770,7 @@ func (m *MsgGuildUpdateResponse) Size() (n int) { return n } -func (m *MsgGuildMembershipInvite) Size() (n int) { +func (m *MsgAllocationCreate) Size() (n int) { if m == nil { return 0 } @@ -14322,47 +14780,37 @@ func (m *MsgGuildMembershipInvite) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) + l = len(m.Controller) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.SourceObjectId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.AllocationType != 0 { + n += 1 + sovTx(uint64(m.AllocationType)) + } + if m.Power != 0 { + n += 1 + sovTx(uint64(m.Power)) } return n } -func (m *MsgGuildMembershipInviteApprove) Size() (n int) { +func (m *MsgAllocationCreateResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.SubstationId) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgGuildMembershipInviteDeny) Size() (n int) { +func (m *MsgAllocationDelete) Size() (n int) { if m == nil { return 0 } @@ -14372,39 +14820,27 @@ func (m *MsgGuildMembershipInviteDeny) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgGuildMembershipInviteRevoke) Size() (n int) { +func (m *MsgAllocationDeleteResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgGuildMembershipJoin) Size() (n int) { +func (m *MsgAllocationUpdate) Size() (n int) { if m == nil { return 0 } @@ -14414,78 +14850,64 @@ func (m *MsgGuildMembershipJoin) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.SubstationId) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if len(m.InfusionId) > 0 { - for _, s := range m.InfusionId { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } + if m.Power != 0 { + n += 1 + sovTx(uint64(m.Power)) } return n } -func (m *MsgGuildMembershipJoinProxy) Size() (n int) { +func (m *MsgAllocationUpdateResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Address) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgAllocationTransfer) Size() (n int) { + if m == nil { + return 0 } - l = len(m.SubstationId) + var l int + _ = l + l = len(m.Creator) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProofPubKey) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProofSignature) + l = len(m.Controller) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgGuildMembershipKick) Size() (n int) { +func (m *MsgAllocationTransferResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) + l = len(m.AllocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgGuildMembershipRequest) Size() (n int) { +func (m *MsgFleetMove) Size() (n int) { if m == nil { return 0 } @@ -14495,68 +14917,83 @@ func (m *MsgGuildMembershipRequest) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) + l = len(m.FleetId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) + l = len(m.DestinationLocationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgGuildMembershipRequestApprove) Size() (n int) { +func (m *MsgFleetMoveResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { + if m.Fleet != nil { + l = m.Fleet.Size() n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgGuildBankMint) Size() (n int) { + if m == nil { + return 0 } - l = len(m.PlayerId) + var l int + _ = l + l = len(m.Creator) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.AmountAlpha != 0 { + n += 1 + sovTx(uint64(m.AmountAlpha)) + } + if m.AmountToken != 0 { + n += 1 + sovTx(uint64(m.AmountToken)) } return n } -func (m *MsgGuildMembershipRequestDeny) Size() (n int) { +func (m *MsgGuildBankMintResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgGuildBankRedeem) Size() (n int) { + if m == nil { + return 0 } - l = len(m.GuildId) + var l int + _ = l + l = len(m.Creator) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + l = m.AmountToken.Size() + n += 1 + l + sovTx(uint64(l)) + return n +} + +func (m *MsgGuildBankRedeemResponse) Size() (n int) { + if m == nil { + return 0 } + var l int + _ = l return n } -func (m *MsgGuildMembershipRequestRevoke) Size() (n int) { +func (m *MsgGuildBankConfiscateAndBurn) Size() (n int) { if m == nil { return 0 } @@ -14566,31 +15003,26 @@ func (m *MsgGuildMembershipRequestRevoke) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.GuildId) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.AmountToken != 0 { + n += 1 + sovTx(uint64(m.AmountToken)) } return n } -func (m *MsgGuildMembershipResponse) Size() (n int) { +func (m *MsgGuildBankConfiscateAndBurnResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - if m.GuildMembershipApplication != nil { - l = m.GuildMembershipApplication.Size() - n += 1 + l + sovTx(uint64(l)) - } return n } -func (m *MsgPermissionGrantOnObject) Size() (n int) { +func (m *MsgGuildCreate) Size() (n int) { if m == nil { return 0 } @@ -14600,41 +15032,31 @@ func (m *MsgPermissionGrantOnObject) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ObjectId) + l = len(m.Endpoint) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.EntrySubstationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) - } return n } -func (m *MsgPermissionGrantOnAddress) Size() (n int) { +func (m *MsgGuildCreateResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Address) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) - } return n } -func (m *MsgPermissionRevokeOnObject) Size() (n int) { +func (m *MsgGuildUpdateOwnerId) Size() (n int) { if m == nil { return 0 } @@ -14644,21 +15066,18 @@ func (m *MsgPermissionRevokeOnObject) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ObjectId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.Owner) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) - } return n } -func (m *MsgPermissionRevokeOnAddress) Size() (n int) { +func (m *MsgGuildUpdateEntrySubstationId) Size() (n int) { if m == nil { return 0 } @@ -14668,17 +15087,18 @@ func (m *MsgPermissionRevokeOnAddress) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Address) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) + l = len(m.EntrySubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgPermissionSetOnObject) Size() (n int) { +func (m *MsgGuildUpdateEndpoint) Size() (n int) { if m == nil { return 0 } @@ -14688,21 +15108,18 @@ func (m *MsgPermissionSetOnObject) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ObjectId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.Endpoint) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) - } return n } -func (m *MsgPermissionSetOnAddress) Size() (n int) { +func (m *MsgGuildUpdateJoinInfusionMinimum) Size() (n int) { if m == nil { return 0 } @@ -14712,26 +15129,37 @@ func (m *MsgPermissionSetOnAddress) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Address) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Permissions != 0 { - n += 1 + sovTx(uint64(m.Permissions)) + if m.JoinInfusionMinimum != 0 { + n += 1 + sovTx(uint64(m.JoinInfusionMinimum)) } return n } -func (m *MsgPermissionResponse) Size() (n int) { +func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.GuildId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.GuildJoinBypassLevel != 0 { + n += 1 + sovTx(uint64(m.GuildJoinBypassLevel)) + } return n } -func (m *MsgPlanetExplore) Size() (n int) { +func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Size() (n int) { if m == nil { return 0 } @@ -14741,25 +15169,26 @@ func (m *MsgPlanetExplore) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.GuildJoinBypassLevel != 0 { + n += 1 + sovTx(uint64(m.GuildJoinBypassLevel)) + } return n } -func (m *MsgPlanetExploreResponse) Size() (n int) { +func (m *MsgGuildUpdateResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = m.Planet.Size() - n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgPlanetRaidComplete) Size() (n int) { +func (m *MsgGuildMembershipInvite) Size() (n int) { if m == nil { return 0 } @@ -14769,38 +15198,47 @@ func (m *MsgPlanetRaidComplete) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.FleetId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Proof) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Nonce) + l = len(m.SubstationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgPlanetRaidCompleteResponse) Size() (n int) { +func (m *MsgGuildMembershipInviteApprove) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = m.Fleet.Size() - n += 1 + l + sovTx(uint64(l)) - l = m.Planet.Size() - n += 1 + l + sovTx(uint64(l)) - if m.OreStolen != 0 { - n += 1 + sovTx(uint64(m.OreStolen)) + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.GuildId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgPlayerUpdatePrimaryAddress) Size() (n int) { +func (m *MsgGuildMembershipInviteDeny) Size() (n int) { if m == nil { return 0 } @@ -14810,27 +15248,39 @@ func (m *MsgPlayerUpdatePrimaryAddress) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PrimaryAddress) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgPlayerUpdatePrimaryAddressResponse) Size() (n int) { +func (m *MsgGuildMembershipInviteRevoke) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.GuildId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } -func (m *MsgPlayerResume) Size() (n int) { +func (m *MsgGuildMembershipJoin) Size() (n int) { if m == nil { return 0 } @@ -14840,34 +15290,28 @@ func (m *MsgPlayerResume) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.GuildId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - return n -} - -func (m *MsgPlayerResumeResponse) Size() (n int) { - if m == nil { - return 0 + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } - var l int - _ = l - return n -} - -func (m *MsgStructStatusResponse) Size() (n int) { - if m == nil { - return 0 + if len(m.InfusionId) > 0 { + for _, s := range m.InfusionId { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } } - var l int - _ = l - l = m.Struct.Size() - n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgStructActivate) Size() (n int) { +func (m *MsgGuildMembershipJoinProxy) Size() (n int) { if m == nil { return 0 } @@ -14877,31 +15321,26 @@ func (m *MsgStructActivate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - return n -} - -func (m *MsgStructDeactivate) Size() (n int) { - if m == nil { - return 0 + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } - var l int - _ = l - l = len(m.Creator) + l = len(m.ProofPubKey) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.ProofSignature) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgStructBuildInitiate) Size() (n int) { +func (m *MsgGuildMembershipKick) Size() (n int) { if m == nil { return 0 } @@ -14911,23 +15350,18 @@ func (m *MsgStructBuildInitiate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.GuildId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.StructTypeId != 0 { - n += 1 + sovTx(uint64(m.StructTypeId)) - } - if m.OperatingAmbit != 0 { - n += 1 + sovTx(uint64(m.OperatingAmbit)) - } - if m.Slot != 0 { - n += 1 + sovTx(uint64(m.Slot)) - } return n } -func (m *MsgStructBuildComplete) Size() (n int) { +func (m *MsgGuildMembershipRequest) Size() (n int) { if m == nil { return 0 } @@ -14937,22 +15371,22 @@ func (m *MsgStructBuildComplete) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Proof) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Nonce) + l = len(m.SubstationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgStructBuildCancel) Size() (n int) { +func (m *MsgGuildMembershipRequestApprove) Size() (n int) { if m == nil { return 0 } @@ -14962,14 +15396,22 @@ func (m *MsgStructBuildCancel) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.GuildId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SubstationId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgStructBuildCompleteAndStash) Size() (n int) { +func (m *MsgGuildMembershipRequestDeny) Size() (n int) { if m == nil { return 0 } @@ -14979,32 +15421,18 @@ func (m *MsgStructBuildCompleteAndStash) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Proof) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Nonce) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StorageDestinationId) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.StorageAmbit != 0 { - n += 1 + sovTx(uint64(m.StorageAmbit)) - } - if m.StorageSlot != 0 { - n += 1 + sovTx(uint64(m.StorageSlot)) - } return n } -func (m *MsgStructDefenseSet) Size() (n int) { +func (m *MsgGuildMembershipRequestRevoke) Size() (n int) { if m == nil { return 0 } @@ -15014,35 +15442,31 @@ func (m *MsgStructDefenseSet) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.DefenderStructId) + l = len(m.GuildId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProtectedStructId) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgStructDefenseClear) Size() (n int) { +func (m *MsgGuildMembershipResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.DefenderStructId) - if l > 0 { + if m.GuildMembershipApplication != nil { + l = m.GuildMembershipApplication.Size() n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgStructMove) Size() (n int) { +func (m *MsgPermissionGrantOnObject) Size() (n int) { if m == nil { return 0 } @@ -15052,23 +15476,21 @@ func (m *MsgStructMove) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.ObjectId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.LocationType != 0 { - n += 1 + sovTx(uint64(m.LocationType)) - } - if m.Ambit != 0 { - n += 1 + sovTx(uint64(m.Ambit)) + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } - if m.Slot != 0 { - n += 1 + sovTx(uint64(m.Slot)) + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) } return n } -func (m *MsgStructAttack) Size() (n int) { +func (m *MsgPermissionGrantOnAddress) Size() (n int) { if m == nil { return 0 } @@ -15078,33 +15500,41 @@ func (m *MsgStructAttack) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.OperatingStructId) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if len(m.TargetStructId) > 0 { - for _, s := range m.TargetStructId { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } - } - l = len(m.WeaponSystem) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) } return n } -func (m *MsgStructAttackResponse) Size() (n int) { +func (m *MsgPermissionRevokeOnObject) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ObjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) + } return n } -func (m *MsgStructStealthActivate) Size() (n int) { +func (m *MsgPermissionRevokeOnAddress) Size() (n int) { if m == nil { return 0 } @@ -15114,14 +15544,17 @@ func (m *MsgStructStealthActivate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) + } return n } -func (m *MsgStructStealthDeactivate) Size() (n int) { +func (m *MsgPermissionSetOnObject) Size() (n int) { if m == nil { return 0 } @@ -15131,14 +15564,21 @@ func (m *MsgStructStealthDeactivate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.ObjectId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) + } return n } -func (m *MsgStructGeneratorInfuse) Size() (n int) { +func (m *MsgPermissionSetOnAddress) Size() (n int) { if m == nil { return 0 } @@ -15148,18 +15588,17 @@ func (m *MsgStructGeneratorInfuse) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.Address) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.InfuseAmount) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) + if m.Permissions != 0 { + n += 1 + sovTx(uint64(m.Permissions)) } return n } -func (m *MsgStructGeneratorStatusResponse) Size() (n int) { +func (m *MsgPermissionResponse) Size() (n int) { if m == nil { return 0 } @@ -15168,7 +15607,7 @@ func (m *MsgStructGeneratorStatusResponse) Size() (n int) { return n } -func (m *MsgStructOreMinerComplete) Size() (n int) { +func (m *MsgPlanetExplore) Size() (n int) { if m == nil { return 0 } @@ -15178,33 +15617,25 @@ func (m *MsgStructOreMinerComplete) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Proof) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.Nonce) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgStructOreMinerStatusResponse) Size() (n int) { +func (m *MsgPlanetExploreResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = m.Struct.Size() + l = m.Planet.Size() n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgStructOreRefineryComplete) Size() (n int) { +func (m *MsgPlanetRaidComplete) Size() (n int) { if m == nil { return 0 } @@ -15214,7 +15645,7 @@ func (m *MsgStructOreRefineryComplete) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.FleetId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } @@ -15229,18 +15660,23 @@ func (m *MsgStructOreRefineryComplete) Size() (n int) { return n } -func (m *MsgStructOreRefineryStatusResponse) Size() (n int) { +func (m *MsgPlanetRaidCompleteResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = m.Struct.Size() + l = m.Fleet.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.Planet.Size() n += 1 + l + sovTx(uint64(l)) + if m.OreStolen != 0 { + n += 1 + sovTx(uint64(m.OreStolen)) + } return n } -func (m *MsgStructStorageStash) Size() (n int) { +func (m *MsgPlayerUpdatePrimaryAddress) Size() (n int) { if m == nil { return 0 } @@ -15250,54 +15686,27 @@ func (m *MsgStructStorageStash) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.StructId) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.LocationId) + l = len(m.PrimaryAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Ambit != 0 { - n += 1 + sovTx(uint64(m.Ambit)) - } - if m.Slot != 0 { - n += 1 + sovTx(uint64(m.Slot)) - } return n } -func (m *MsgStructStorageRecall) Size() (n int) { +func (m *MsgPlayerUpdatePrimaryAddressResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.StructId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.LocationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.Ambit != 0 { - n += 1 + sovTx(uint64(m.Ambit)) - } - if m.Slot != 0 { - n += 1 + sovTx(uint64(m.Slot)) - } - if m.Activate { - n += 2 - } return n } -func (m *MsgSubstationCreate) Size() (n int) { +func (m *MsgPlayerResume) Size() (n int) { if m == nil { return 0 } @@ -15307,31 +15716,23 @@ func (m *MsgSubstationCreate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.Owner) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.AllocationId) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgSubstationCreateResponse) Size() (n int) { +func (m *MsgPlayerResumeResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.SubstationId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } return n } -func (m *MsgSubstationDelete) Size() (n int) { +func (m *MsgReactorInfuse) Size() (n int) { if m == nil { return 0 } @@ -15341,18 +15742,20 @@ func (m *MsgSubstationDelete) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) + l = len(m.DelegatorAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.MigrationSubstationId) + l = len(m.ValidatorAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgSubstationDeleteResponse) Size() (n int) { +func (m *MsgReactorInfuseResponse) Size() (n int) { if m == nil { return 0 } @@ -15361,7 +15764,7 @@ func (m *MsgSubstationDeleteResponse) Size() (n int) { return n } -func (m *MsgSubstationAllocationConnect) Size() (n int) { +func (m *MsgReactorBeginMigration) Size() (n int) { if m == nil { return 0 } @@ -15371,27 +15774,35 @@ func (m *MsgSubstationAllocationConnect) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.AllocationId) + l = len(m.DelegatorAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.DestinationId) + l = len(m.ValidatorSrcAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.ValidatorDstAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgSubstationAllocationConnectResponse) Size() (n int) { +func (m *MsgReactorBeginMigrationResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime) + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgSubstationAllocationDisconnect) Size() (n int) { +func (m *MsgReactorDefuse) Size() (n int) { if m == nil { return 0 } @@ -15401,23 +15812,33 @@ func (m *MsgSubstationAllocationDisconnect) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.AllocationId) + l = len(m.DelegatorAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = len(m.ValidatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgSubstationAllocationDisconnectResponse) Size() (n int) { +func (m *MsgReactorDefuseResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = github_com_cosmos_gogoproto_types.SizeOfStdTime(m.CompletionTime) + n += 1 + l + sovTx(uint64(l)) + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgSubstationPlayerConnect) Size() (n int) { +func (m *MsgReactorCancelDefusion) Size() (n int) { if m == nil { return 0 } @@ -15427,18 +15848,23 @@ func (m *MsgSubstationPlayerConnect) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) + l = len(m.DelegatorAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.PlayerId) + l = len(m.ValidatorAddress) if l > 0 { n += 1 + l + sovTx(uint64(l)) } + l = m.Amount.Size() + n += 1 + l + sovTx(uint64(l)) + if m.CreationHeight != 0 { + n += 1 + sovTx(uint64(m.CreationHeight)) + } return n } -func (m *MsgSubstationPlayerConnectResponse) Size() (n int) { +func (m *MsgReactorCancelDefusionResponse) Size() (n int) { if m == nil { return 0 } @@ -15447,33 +15873,18 @@ func (m *MsgSubstationPlayerConnectResponse) Size() (n int) { return n } -func (m *MsgSubstationPlayerDisconnect) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.PlayerId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - return n -} - -func (m *MsgSubstationPlayerDisconnectResponse) Size() (n int) { +func (m *MsgStructStatusResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = m.Struct.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgSubstationPlayerMigrate) Size() (n int) { +func (m *MsgStructActivate) Size() (n int) { if m == nil { return 0 } @@ -15483,29 +15894,31 @@ func (m *MsgSubstationPlayerMigrate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if len(m.PlayerId) > 0 { - for _, s := range m.PlayerId { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } - } return n } -func (m *MsgSubstationPlayerMigrateResponse) Size() (n int) { +func (m *MsgStructDeactivate) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } -func (m *MsgAgreementOpen) Size() (n int) { +func (m *MsgStructBuildInitiate) Size() (n int) { if m == nil { return 0 } @@ -15515,20 +15928,23 @@ func (m *MsgAgreementOpen) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.PlayerId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.Duration != 0 { - n += 1 + sovTx(uint64(m.Duration)) + if m.StructTypeId != 0 { + n += 1 + sovTx(uint64(m.StructTypeId)) } - if m.Capacity != 0 { - n += 1 + sovTx(uint64(m.Capacity)) + if m.OperatingAmbit != 0 { + n += 1 + sovTx(uint64(m.OperatingAmbit)) + } + if m.Slot != 0 { + n += 1 + sovTx(uint64(m.Slot)) } return n } -func (m *MsgAgreementClose) Size() (n int) { +func (m *MsgStructBuildComplete) Size() (n int) { if m == nil { return 0 } @@ -15538,14 +15954,22 @@ func (m *MsgAgreementClose) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.AgreementId) + l = len(m.StructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Proof) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Nonce) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgAgreementCapacityIncrease) Size() (n int) { +func (m *MsgStructBuildCancel) Size() (n int) { if m == nil { return 0 } @@ -15555,17 +15979,14 @@ func (m *MsgAgreementCapacityIncrease) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.AgreementId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CapacityIncrease != 0 { - n += 1 + sovTx(uint64(m.CapacityIncrease)) - } return n } -func (m *MsgAgreementCapacityDecrease) Size() (n int) { +func (m *MsgStructBuildCompleteAndStash) Size() (n int) { if m == nil { return 0 } @@ -15575,17 +15996,32 @@ func (m *MsgAgreementCapacityDecrease) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.AgreementId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.CapacityDecrease != 0 { - n += 1 + sovTx(uint64(m.CapacityDecrease)) + l = len(m.Proof) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Nonce) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StorageDestinationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.StorageAmbit != 0 { + n += 1 + sovTx(uint64(m.StorageAmbit)) + } + if m.StorageSlot != 0 { + n += 1 + sovTx(uint64(m.StorageSlot)) } return n } -func (m *MsgAgreementDurationIncrease) Size() (n int) { +func (m *MsgStructDefenseSet) Size() (n int) { if m == nil { return 0 } @@ -15595,26 +16031,35 @@ func (m *MsgAgreementDurationIncrease) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.AgreementId) + l = len(m.DefenderStructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.DurationIncrease != 0 { - n += 1 + sovTx(uint64(m.DurationIncrease)) + l = len(m.ProtectedStructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgAgreementResponse) Size() (n int) { +func (m *MsgStructDefenseClear) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.DefenderStructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } return n } -func (m *MsgProviderCreate) Size() (n int) { +func (m *MsgStructMove) Size() (n int) { if m == nil { return 0 } @@ -15624,35 +16069,23 @@ func (m *MsgProviderCreate) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.SubstationId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = m.Rate.Size() - n += 1 + l + sovTx(uint64(l)) - if m.AccessPolicy != 0 { - n += 1 + sovTx(uint64(m.AccessPolicy)) - } - l = m.ProviderCancellationPenalty.Size() - n += 1 + l + sovTx(uint64(l)) - l = m.ConsumerCancellationPenalty.Size() - n += 1 + l + sovTx(uint64(l)) - if m.CapacityMinimum != 0 { - n += 1 + sovTx(uint64(m.CapacityMinimum)) - } - if m.CapacityMaximum != 0 { - n += 1 + sovTx(uint64(m.CapacityMaximum)) + if m.LocationType != 0 { + n += 1 + sovTx(uint64(m.LocationType)) } - if m.DurationMinimum != 0 { - n += 1 + sovTx(uint64(m.DurationMinimum)) + if m.Ambit != 0 { + n += 1 + sovTx(uint64(m.Ambit)) } - if m.DurationMaximum != 0 { - n += 1 + sovTx(uint64(m.DurationMaximum)) + if m.Slot != 0 { + n += 1 + sovTx(uint64(m.Slot)) } return n } -func (m *MsgProviderWithdrawBalance) Size() (n int) { +func (m *MsgStructAttack) Size() (n int) { if m == nil { return 0 } @@ -15662,38 +16095,33 @@ func (m *MsgProviderWithdrawBalance) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.OperatingStructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.DestinationAddress) + if len(m.TargetStructId) > 0 { + for _, s := range m.TargetStructId { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + l = len(m.WeaponSystem) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgProviderUpdateCapacityMinimum) Size() (n int) { +func (m *MsgStructAttackResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ProviderId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.NewMinimumCapacity != 0 { - n += 1 + sovTx(uint64(m.NewMinimumCapacity)) - } return n } -func (m *MsgProviderUpdateCapacityMaximum) Size() (n int) { +func (m *MsgStructStealthActivate) Size() (n int) { if m == nil { return 0 } @@ -15703,17 +16131,14 @@ func (m *MsgProviderUpdateCapacityMaximum) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.NewMaximumCapacity != 0 { - n += 1 + sovTx(uint64(m.NewMaximumCapacity)) - } return n } -func (m *MsgProviderUpdateDurationMinimum) Size() (n int) { +func (m *MsgStructStealthDeactivate) Size() (n int) { if m == nil { return 0 } @@ -15723,17 +16148,14 @@ func (m *MsgProviderUpdateDurationMinimum) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.NewMinimumDuration != 0 { - n += 1 + sovTx(uint64(m.NewMinimumDuration)) - } return n } -func (m *MsgProviderUpdateDurationMaximum) Size() (n int) { +func (m *MsgStructGeneratorInfuse) Size() (n int) { if m == nil { return 0 } @@ -15743,37 +16165,27 @@ func (m *MsgProviderUpdateDurationMaximum) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if m.NewMaximumDuration != 0 { - n += 1 + sovTx(uint64(m.NewMaximumDuration)) + l = len(m.InfuseAmount) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgProviderUpdateAccessPolicy) Size() (n int) { +func (m *MsgStructGeneratorStatusResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ProviderId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.AccessPolicy != 0 { - n += 1 + sovTx(uint64(m.AccessPolicy)) - } return n } -func (m *MsgProviderGuildGrant) Size() (n int) { +func (m *MsgStructOreMinerComplete) Size() (n int) { if m == nil { return 0 } @@ -15783,43 +16195,33 @@ func (m *MsgProviderGuildGrant) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.StructId) if l > 0 { n += 1 + l + sovTx(uint64(l)) } - if len(m.GuildId) > 0 { - for _, s := range m.GuildId { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } + l = len(m.Proof) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Nonce) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgProviderGuildRevoke) Size() (n int) { +func (m *MsgStructOreMinerStatusResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Creator) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.ProviderId) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.GuildId) > 0 { - for _, s := range m.GuildId { - l = len(s) - n += 1 + l + sovTx(uint64(l)) - } - } + l = m.Struct.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func (m *MsgProviderDelete) Size() (n int) { +func (m *MsgStructOreRefineryComplete) Size() (n int) { if m == nil { return 0 } @@ -15829,29 +16231,1714 @@ func (m *MsgProviderDelete) Size() (n int) { if l > 0 { n += 1 + l + sovTx(uint64(l)) } - l = len(m.ProviderId) + l = len(m.StructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Proof) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Nonce) if l > 0 { n += 1 + l + sovTx(uint64(l)) } return n } -func (m *MsgProviderResponse) Size() (n int) { +func (m *MsgStructOreRefineryStatusResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l + l = m.Struct.Size() + n += 1 + l + sovTx(uint64(l)) return n } -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { +func (m *MsgStructStorageStash) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.LocationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Ambit != 0 { + n += 1 + sovTx(uint64(m.Ambit)) + } + if m.Slot != 0 { + n += 1 + sovTx(uint64(m.Slot)) + } + return n +} + +func (m *MsgStructStorageRecall) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.StructId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.LocationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Ambit != 0 { + n += 1 + sovTx(uint64(m.Ambit)) + } + if m.Slot != 0 { + n += 1 + sovTx(uint64(m.Slot)) + } + if m.Activate { + n += 2 + } + return n +} + +func (m *MsgSubstationCreate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Owner) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AllocationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationCreateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationDelete) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.MigrationSubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationDeleteResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSubstationAllocationConnect) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AllocationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.DestinationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationAllocationConnectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSubstationAllocationDisconnect) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AllocationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationAllocationDisconnectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSubstationPlayerConnect) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationPlayerConnectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSubstationPlayerDisconnect) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.PlayerId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgSubstationPlayerDisconnectResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgSubstationPlayerMigrate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.PlayerId) > 0 { + for _, s := range m.PlayerId { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgSubstationPlayerMigrateResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgAgreementOpen) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.Duration != 0 { + n += 1 + sovTx(uint64(m.Duration)) + } + if m.Capacity != 0 { + n += 1 + sovTx(uint64(m.Capacity)) + } + return n +} + +func (m *MsgAgreementClose) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AgreementId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgAgreementCapacityIncrease) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AgreementId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.CapacityIncrease != 0 { + n += 1 + sovTx(uint64(m.CapacityIncrease)) + } + return n +} + +func (m *MsgAgreementCapacityDecrease) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AgreementId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.CapacityDecrease != 0 { + n += 1 + sovTx(uint64(m.CapacityDecrease)) + } + return n +} + +func (m *MsgAgreementDurationIncrease) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.AgreementId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.DurationIncrease != 0 { + n += 1 + sovTx(uint64(m.DurationIncrease)) + } + return n +} + +func (m *MsgAgreementResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func (m *MsgProviderCreate) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.SubstationId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = m.Rate.Size() + n += 1 + l + sovTx(uint64(l)) + if m.AccessPolicy != 0 { + n += 1 + sovTx(uint64(m.AccessPolicy)) + } + l = m.ProviderCancellationPenalty.Size() + n += 1 + l + sovTx(uint64(l)) + l = m.ConsumerCancellationPenalty.Size() + n += 1 + l + sovTx(uint64(l)) + if m.CapacityMinimum != 0 { + n += 1 + sovTx(uint64(m.CapacityMinimum)) + } + if m.CapacityMaximum != 0 { + n += 1 + sovTx(uint64(m.CapacityMaximum)) + } + if m.DurationMinimum != 0 { + n += 1 + sovTx(uint64(m.DurationMinimum)) + } + if m.DurationMaximum != 0 { + n += 1 + sovTx(uint64(m.DurationMaximum)) + } + return n +} + +func (m *MsgProviderWithdrawBalance) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.DestinationAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProviderUpdateCapacityMinimum) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.NewMinimumCapacity != 0 { + n += 1 + sovTx(uint64(m.NewMinimumCapacity)) + } + return n +} + +func (m *MsgProviderUpdateCapacityMaximum) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.NewMaximumCapacity != 0 { + n += 1 + sovTx(uint64(m.NewMaximumCapacity)) + } + return n +} + +func (m *MsgProviderUpdateDurationMinimum) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.NewMinimumDuration != 0 { + n += 1 + sovTx(uint64(m.NewMinimumDuration)) + } + return n +} + +func (m *MsgProviderUpdateDurationMaximum) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.NewMaximumDuration != 0 { + n += 1 + sovTx(uint64(m.NewMaximumDuration)) + } + return n +} + +func (m *MsgProviderUpdateAccessPolicy) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.AccessPolicy != 0 { + n += 1 + sovTx(uint64(m.AccessPolicy)) + } + return n +} + +func (m *MsgProviderGuildGrant) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.GuildId) > 0 { + for _, s := range m.GuildId { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgProviderGuildRevoke) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.GuildId) > 0 { + for _, s := range m.GuildId { + l = len(s) + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgProviderDelete) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Creator) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.ProviderId) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgProviderResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + +func sovTx(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozTx(x uint64) (n int) { + return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAddressRegister: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddressRegister: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PlayerId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofPubKey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofPubKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofSignature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofSignature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + m.Permissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissions |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAddressRegisterResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAddressRegisterResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddressRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAddressRevoke) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAddressRevoke: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddressRevoke: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAddressRevokeResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAddressRevokeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAddressRevokeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAllocationCreate) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAllocationCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAllocationCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Controller = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SourceObjectId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SourceObjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllocationType", wireType) + } + m.AllocationType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AllocationType |= AllocationType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType) + } + m.Power = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Power |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAllocationCreateResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAllocationCreateResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAllocationCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllocationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAllocationDelete) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAllocationDelete: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAllocationDelete: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllocationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAllocationDeleteResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAllocationDeleteResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAllocationDeleteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllocationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15874,15 +17961,15 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParams: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAllocationUpdate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParams: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAllocationUpdate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Authority", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15910,13 +17997,13 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Authority = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -15926,25 +18013,43 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.AllocationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType) + } + m.Power = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Power |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -15966,7 +18071,7 @@ func (m *MsgUpdateParams) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { +func (m *MsgAllocationUpdateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15989,12 +18094,44 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAllocationUpdateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgUpdateParamsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAllocationUpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AllocationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16016,7 +18153,7 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { +func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16039,10 +18176,10 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddressRegister: wiretype end group for non-group") + return fmt.Errorf("proto: MsgAllocationTransfer: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddressRegister: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgAllocationTransfer: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16079,7 +18216,7 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16107,11 +18244,11 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) + m.AllocationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16139,11 +18276,61 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.Controller = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgAllocationTransferResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgAllocationTransferResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgAllocationTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProofPubKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16171,11 +18358,61 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProofPubKey = string(dAtA[iNdEx:postIndex]) + m.AllocationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgFleetMove) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgFleetMove: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgFleetMove: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProofSignature", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16203,13 +18440,13 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProofSignature = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FleetId", wireType) } - m.Permissions = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -16219,11 +18456,56 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FleetId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DestinationLocationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DestinationLocationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16245,7 +18527,7 @@ func (m *MsgAddressRegister) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddressRegisterResponse) Unmarshal(dAtA []byte) error { +func (m *MsgFleetMoveResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16268,12 +18550,48 @@ func (m *MsgAddressRegisterResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddressRegisterResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgFleetMoveResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddressRegisterResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgFleetMoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fleet", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Fleet == nil { + m.Fleet = &Fleet{} + } + if err := m.Fleet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16295,7 +18613,7 @@ func (m *MsgAddressRegisterResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddressRevoke) Unmarshal(dAtA []byte) error { +func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16318,10 +18636,10 @@ func (m *MsgAddressRevoke) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddressRevoke: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildBankMint: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddressRevoke: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildBankMint: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16357,10 +18675,10 @@ func (m *MsgAddressRevoke) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AmountAlpha", wireType) } - var stringLen uint64 + m.AmountAlpha = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -16370,24 +18688,30 @@ func (m *MsgAddressRevoke) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.AmountAlpha |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AmountToken", wireType) } - if postIndex > l { - return io.ErrUnexpectedEOF + m.AmountToken = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AmountToken |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16409,7 +18733,7 @@ func (m *MsgAddressRevoke) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAddressRevokeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGuildBankMintResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16432,10 +18756,10 @@ func (m *MsgAddressRevokeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAddressRevokeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildBankMintResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAddressRevokeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildBankMintResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -16459,7 +18783,7 @@ func (m *MsgAddressRevokeResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationCreate) Unmarshal(dAtA []byte) error { +func (m *MsgGuildBankRedeem) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16482,10 +18806,10 @@ func (m *MsgAllocationCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildBankRedeem: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildBankRedeem: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16522,9 +18846,9 @@ func (m *MsgAllocationCreate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AmountToken", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -16534,94 +18858,25 @@ func (m *MsgAllocationCreate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Controller = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceObjectId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := m.AmountToken.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.SourceObjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationType", wireType) - } - m.AllocationType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.AllocationType |= AllocationType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType) - } - m.Power = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Power |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16643,7 +18898,7 @@ func (m *MsgAllocationCreate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationCreateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGuildBankRedeemResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16666,44 +18921,12 @@ func (m *MsgAllocationCreateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationCreateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildBankRedeemResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildBankRedeemResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AllocationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16725,7 +18948,7 @@ func (m *MsgAllocationCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationDelete) Unmarshal(dAtA []byte) error { +func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16748,10 +18971,10 @@ func (m *MsgAllocationDelete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationDelete: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurn: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationDelete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurn: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16788,7 +19011,7 @@ func (m *MsgAllocationDelete) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -16816,8 +19039,27 @@ func (m *MsgAllocationDelete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AllocationId = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AmountToken", wireType) + } + m.AmountToken = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AmountToken |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16839,7 +19081,7 @@ func (m *MsgAllocationDelete) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationDeleteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGuildBankConfiscateAndBurnResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16862,44 +19104,12 @@ func (m *MsgAllocationDeleteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationDeleteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurnResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationDeleteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurnResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.AllocationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -16921,7 +19131,7 @@ func (m *MsgAllocationDeleteResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { +func (m *MsgGuildCreate) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -16944,10 +19154,10 @@ func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationUpdate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationUpdate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -16984,7 +19194,7 @@ func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Endpoint", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17012,13 +19222,13 @@ func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AllocationId = string(dAtA[iNdEx:postIndex]) + m.Endpoint = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Power", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EntrySubstationId", wireType) } - m.Power = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17028,11 +19238,24 @@ func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Power |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EntrySubstationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17054,7 +19277,7 @@ func (m *MsgAllocationUpdate) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationUpdateResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGuildCreateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17077,15 +19300,15 @@ func (m *MsgAllocationUpdateResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationUpdateResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildCreateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationUpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17113,7 +19336,7 @@ func (m *MsgAllocationUpdateResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AllocationId = string(dAtA[iNdEx:postIndex]) + m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17136,7 +19359,7 @@ func (m *MsgAllocationUpdateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateOwnerId) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17159,10 +19382,10 @@ func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationTransfer: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateOwnerId: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationTransfer: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateOwnerId: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17199,7 +19422,7 @@ func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17227,11 +19450,11 @@ func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AllocationId = string(dAtA[iNdEx:postIndex]) + m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Controller", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17259,7 +19482,7 @@ func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Controller = string(dAtA[iNdEx:postIndex]) + m.Owner = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17282,7 +19505,7 @@ func (m *MsgAllocationTransfer) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgAllocationTransferResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateEntrySubstationId) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17305,15 +19528,15 @@ func (m *MsgAllocationTransferResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgAllocationTransferResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateEntrySubstationId: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgAllocationTransferResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateEntrySubstationId: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AllocationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17341,7 +19564,71 @@ func (m *MsgAllocationTransferResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AllocationId = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GuildId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EntrySubstationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.EntrySubstationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17364,7 +19651,7 @@ func (m *MsgAllocationTransferResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgFleetMove) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateEndpoint) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17387,10 +19674,10 @@ func (m *MsgFleetMove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgFleetMove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateEndpoint: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgFleetMove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateEndpoint: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17427,7 +19714,7 @@ func (m *MsgFleetMove) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FleetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17455,11 +19742,11 @@ func (m *MsgFleetMove) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FleetId = string(dAtA[iNdEx:postIndex]) + m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DestinationLocationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Endpoint", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -17480,100 +19767,14 @@ func (m *MsgFleetMove) Unmarshal(dAtA []byte) error { if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DestinationLocationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgFleetMoveResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgFleetMoveResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgFleetMoveResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fleet", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Fleet == nil { - m.Fleet = &Fleet{} - } - if err := m.Fleet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Endpoint = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -17596,7 +19797,7 @@ func (m *MsgFleetMoveResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateJoinInfusionMinimum) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17619,10 +19820,10 @@ func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildBankMint: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimum: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildBankMint: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimum: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17658,10 +19859,10 @@ func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AmountAlpha", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } - m.AmountAlpha = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17671,16 +19872,29 @@ func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AmountAlpha |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GuildId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AmountToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field JoinInfusionMinimum", wireType) } - m.AmountToken = 0 + m.JoinInfusionMinimum = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17690,7 +19904,7 @@ func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AmountToken |= uint64(b&0x7F) << shift + m.JoinInfusionMinimum |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -17716,57 +19930,7 @@ func (m *MsgGuildBankMint) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildBankMintResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgGuildBankMintResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildBankMintResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgGuildBankRedeem) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17789,10 +19953,10 @@ func (m *MsgGuildBankRedeem) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildBankRedeem: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildBankRedeem: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17829,9 +19993,9 @@ func (m *MsgGuildBankRedeem) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AmountToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -17841,75 +20005,43 @@ func (m *MsgGuildBankRedeem) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.AmountToken.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgGuildBankRedeemResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GuildJoinBypassLevel", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.GuildJoinBypassLevel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GuildJoinBypassLevel |= GuildJoinBypassLevel(b&0x7F) << shift + if b < 0x80 { + break + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgGuildBankRedeemResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildBankRedeemResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -17931,7 +20063,7 @@ func (m *MsgGuildBankRedeemResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -17954,10 +20086,10 @@ func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurn: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByInvite: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurn: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByInvite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -17994,7 +20126,7 @@ func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18022,13 +20154,13 @@ func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AmountToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildJoinBypassLevel", wireType) } - m.AmountToken = 0 + m.GuildJoinBypassLevel = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -18038,7 +20170,7 @@ func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AmountToken |= uint64(b&0x7F) << shift + m.GuildJoinBypassLevel |= GuildJoinBypassLevel(b&0x7F) << shift if b < 0x80 { break } @@ -18064,7 +20196,7 @@ func (m *MsgGuildBankConfiscateAndBurn) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildBankConfiscateAndBurnResponse) Unmarshal(dAtA []byte) error { +func (m *MsgGuildUpdateResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18087,10 +20219,10 @@ func (m *MsgGuildBankConfiscateAndBurnResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurnResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildUpdateResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildBankConfiscateAndBurnResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildUpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -18114,7 +20246,7 @@ func (m *MsgGuildBankConfiscateAndBurnResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildCreate) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipInvite) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18137,10 +20269,10 @@ func (m *MsgGuildCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildCreate: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipInvite: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipInvite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18177,7 +20309,7 @@ func (m *MsgGuildCreate) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Endpoint", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18205,11 +20337,11 @@ func (m *MsgGuildCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Endpoint = string(dAtA[iNdEx:postIndex]) + m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EntrySubstationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18234,64 +20366,14 @@ func (m *MsgGuildCreate) Unmarshal(dAtA []byte) error { if postIndex < 0 { return ErrInvalidLengthTx } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EntrySubstationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgGuildCreateResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if postIndex > l { + return io.ErrUnexpectedEOF } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgGuildCreateResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildCreateResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.PlayerId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18319,7 +20401,7 @@ func (m *MsgGuildCreateResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.GuildId = string(dAtA[iNdEx:postIndex]) + m.SubstationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -18342,7 +20424,7 @@ func (m *MsgGuildCreateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildUpdateOwnerId) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipInviteApprove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18365,10 +20447,10 @@ func (m *MsgGuildUpdateOwnerId) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateOwnerId: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipInviteApprove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateOwnerId: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipInviteApprove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18437,7 +20519,7 @@ func (m *MsgGuildUpdateOwnerId) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18465,7 +20547,39 @@ func (m *MsgGuildUpdateOwnerId) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Owner = string(dAtA[iNdEx:postIndex]) + m.PlayerId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubstationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -18488,7 +20602,7 @@ func (m *MsgGuildUpdateOwnerId) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildUpdateEntrySubstationId) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipInviteDeny) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18511,10 +20625,10 @@ func (m *MsgGuildUpdateEntrySubstationId) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateEntrySubstationId: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipInviteDeny: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateEntrySubstationId: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipInviteDeny: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18583,7 +20697,7 @@ func (m *MsgGuildUpdateEntrySubstationId) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EntrySubstationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18611,7 +20725,7 @@ func (m *MsgGuildUpdateEntrySubstationId) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.EntrySubstationId = string(dAtA[iNdEx:postIndex]) + m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -18634,7 +20748,7 @@ func (m *MsgGuildUpdateEntrySubstationId) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildUpdateEndpoint) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipInviteRevoke) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18657,10 +20771,10 @@ func (m *MsgGuildUpdateEndpoint) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateEndpoint: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipInviteRevoke: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateEndpoint: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipInviteRevoke: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18729,7 +20843,7 @@ func (m *MsgGuildUpdateEndpoint) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Endpoint", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -18757,7 +20871,7 @@ func (m *MsgGuildUpdateEndpoint) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Endpoint = string(dAtA[iNdEx:postIndex]) + m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -18780,7 +20894,7 @@ func (m *MsgGuildUpdateEndpoint) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildUpdateJoinInfusionMinimum) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipJoin) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18803,10 +20917,10 @@ func (m *MsgGuildUpdateJoinInfusionMinimum) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimum: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipJoin: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimum: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipJoin: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18874,10 +20988,10 @@ func (m *MsgGuildUpdateJoinInfusionMinimum) Unmarshal(dAtA []byte) error { m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field JoinInfusionMinimum", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } - m.JoinInfusionMinimum = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -18887,11 +21001,88 @@ func (m *MsgGuildUpdateJoinInfusionMinimum) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.JoinInfusionMinimum |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PlayerId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubstationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InfusionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.InfusionId = append(m.InfusionId, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -18913,7 +21104,7 @@ func (m *MsgGuildUpdateJoinInfusionMinimum) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -18936,10 +21127,10 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByRequest: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipJoinProxy: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipJoinProxy: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -18976,7 +21167,7 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -19004,13 +21195,13 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte if postIndex > l { return io.ErrUnexpectedEOF } - m.GuildId = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildJoinBypassLevel", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) } - m.GuildJoinBypassLevel = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -19020,11 +21211,88 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte } b := dAtA[iNdEx] iNdEx++ - m.GuildJoinBypassLevel |= GuildJoinBypassLevel(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SubstationId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofPubKey", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofPubKey = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ProofSignature", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ProofSignature = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -19046,7 +21314,7 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByRequest) Unmarshal(dAtA []byte } return nil } -func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19069,10 +21337,10 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Unmarshal(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByInvite: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipKick: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateJoinInfusionMinimumBypassByInvite: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipKick: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19140,10 +21408,10 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Unmarshal(dAtA []byte) m.GuildId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildJoinBypassLevel", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } - m.GuildJoinBypassLevel = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -19153,61 +21421,24 @@ func (m *MsgGuildUpdateJoinInfusionMinimumBypassByInvite) Unmarshal(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - m.GuildJoinBypassLevel |= GuildJoinBypassLevel(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthTx } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgGuildUpdateResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgGuildUpdateResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildUpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { + m.PlayerId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -19229,7 +21460,7 @@ func (m *MsgGuildUpdateResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipInvite) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19252,10 +21483,10 @@ func (m *MsgGuildMembershipInvite) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipInvite: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipInvite: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19407,7 +21638,7 @@ func (m *MsgGuildMembershipInvite) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipInviteApprove) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19430,10 +21661,10 @@ func (m *MsgGuildMembershipInviteApprove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipInviteApprove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipRequestApprove: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipInviteApprove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipRequestApprove: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19585,7 +21816,7 @@ func (m *MsgGuildMembershipInviteApprove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipInviteDeny) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19608,10 +21839,10 @@ func (m *MsgGuildMembershipInviteDeny) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipInviteDeny: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipRequestDeny: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipInviteDeny: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipRequestDeny: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19731,7 +21962,7 @@ func (m *MsgGuildMembershipInviteDeny) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipInviteRevoke) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipRequestRevoke) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19754,10 +21985,10 @@ func (m *MsgGuildMembershipInviteRevoke) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipInviteRevoke: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipRequestRevoke: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipInviteRevoke: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipRequestRevoke: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -19877,7 +22108,7 @@ func (m *MsgGuildMembershipInviteRevoke) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipJoin) Unmarshal(dAtA []byte) error { +func (m *MsgGuildMembershipResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -19900,113 +22131,17 @@ func (m *MsgGuildMembershipJoin) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipJoin: wiretype end group for non-group") + return fmt.Errorf("proto: MsgGuildMembershipResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipJoin: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgGuildMembershipResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Creator = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.GuildId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PlayerId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GuildMembershipApplication", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -20016,55 +22151,27 @@ func (m *MsgGuildMembershipJoin) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.SubstationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InfusionId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx + if m.GuildMembershipApplication == nil { + m.GuildMembershipApplication = &GuildMembershipApplication{} } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := m.GuildMembershipApplication.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.InfusionId = append(m.InfusionId, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex default: iNdEx = preIndex @@ -20087,7 +22194,7 @@ func (m *MsgGuildMembershipJoin) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { +func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20110,10 +22217,10 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipJoinProxy: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPermissionGrantOnObject: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipJoinProxy: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPermissionGrantOnObject: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20150,7 +22257,7 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20178,11 +22285,11 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.ObjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20210,11 +22317,80 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.SubstationId = string(dAtA[iNdEx:postIndex]) + m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + m.Permissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissions |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgPermissionGrantOnAddress: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPermissionGrantOnAddress: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProofPubKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20242,11 +22418,11 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProofPubKey = string(dAtA[iNdEx:postIndex]) + m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ProofSignature", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20274,8 +22450,27 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ProofSignature = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + m.Permissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissions |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -20297,7 +22492,7 @@ func (m *MsgGuildMembershipJoinProxy) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { +func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20320,10 +22515,10 @@ func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipKick: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPermissionRevokeOnObject: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipKick: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPermissionRevokeOnObject: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20360,7 +22555,7 @@ func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20388,7 +22583,7 @@ func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.GuildId = string(dAtA[iNdEx:postIndex]) + m.ObjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -20422,6 +22617,25 @@ func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { } m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + } + m.Permissions = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Permissions |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -20443,7 +22657,7 @@ func (m *MsgGuildMembershipKick) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { +func (m *MsgPermissionRevokeOnAddress) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20466,10 +22680,10 @@ func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipRequest: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPermissionRevokeOnAddress: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPermissionRevokeOnAddress: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20506,7 +22720,7 @@ func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20534,45 +22748,13 @@ func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.GuildId = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PlayerId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) } - var stringLen uint64 + m.Permissions = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -20582,24 +22764,11 @@ func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Permissions |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SubstationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -20621,7 +22790,7 @@ func (m *MsgGuildMembershipRequest) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { +func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20644,10 +22813,10 @@ func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipRequestApprove: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPermissionSetOnObject: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipRequestApprove: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPermissionSetOnObject: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20684,7 +22853,7 @@ func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20712,7 +22881,7 @@ func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.GuildId = string(dAtA[iNdEx:postIndex]) + m.ObjectId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -20747,10 +22916,10 @@ func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SubstationId", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) } - var stringLen uint64 + m.Permissions = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -20760,24 +22929,11 @@ func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Permissions |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.SubstationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -20799,7 +22955,7 @@ func (m *MsgGuildMembershipRequestApprove) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { +func (m *MsgPermissionSetOnAddress) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20822,10 +22978,10 @@ func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipRequestDeny: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPermissionSetOnAddress: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipRequestDeny: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPermissionSetOnAddress: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -20862,7 +23018,7 @@ func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -20890,13 +23046,13 @@ func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.GuildId = string(dAtA[iNdEx:postIndex]) + m.Address = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) } - var stringLen uint64 + m.Permissions = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -20906,24 +23062,61 @@ func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Permissions |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLengthTx } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgPermissionResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgPermissionResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPermissionResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -20945,7 +23138,7 @@ func (m *MsgGuildMembershipRequestDeny) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipRequestRevoke) Unmarshal(dAtA []byte) error { +func (m *MsgPlanetExplore) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -20968,10 +23161,10 @@ func (m *MsgGuildMembershipRequestRevoke) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipRequestRevoke: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlanetExplore: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipRequestRevoke: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlanetExplore: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21007,38 +23200,6 @@ func (m *MsgGuildMembershipRequestRevoke) Unmarshal(dAtA []byte) error { m.Creator = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.GuildId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } @@ -21091,7 +23252,7 @@ func (m *MsgGuildMembershipRequestRevoke) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgGuildMembershipResponse) Unmarshal(dAtA []byte) error { +func (m *MsgPlanetExploreResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21114,15 +23275,15 @@ func (m *MsgGuildMembershipResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgGuildMembershipResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlanetExploreResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgGuildMembershipResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlanetExploreResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GuildMembershipApplication", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Planet", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -21149,10 +23310,7 @@ func (m *MsgGuildMembershipResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.GuildMembershipApplication == nil { - m.GuildMembershipApplication = &GuildMembershipApplication{} - } - if err := m.GuildMembershipApplication.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Planet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -21177,7 +23335,7 @@ func (m *MsgGuildMembershipResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { +func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21200,10 +23358,10 @@ func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionGrantOnObject: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlanetRaidComplete: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionGrantOnObject: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlanetRaidComplete: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21240,7 +23398,7 @@ func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FleetId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21268,11 +23426,11 @@ func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ObjectId = string(dAtA[iNdEx:postIndex]) + m.FleetId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Proof", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21300,13 +23458,13 @@ func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) + m.Proof = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } - m.Permissions = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -21316,11 +23474,24 @@ func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Nonce = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -21342,7 +23513,7 @@ func (m *MsgPermissionGrantOnObject) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { +func (m *MsgPlanetRaidCompleteResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21365,17 +23536,17 @@ func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionGrantOnAddress: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlanetRaidCompleteResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionGrantOnAddress: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlanetRaidCompleteResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Fleet", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -21385,29 +23556,30 @@ func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + if err := m.Fleet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Planet", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -21417,29 +23589,30 @@ func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + if err := m.Planet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OreStolen", wireType) } - m.Permissions = 0 + m.OreStolen = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -21449,7 +23622,7 @@ func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift + m.OreStolen |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -21475,7 +23648,7 @@ func (m *MsgPermissionGrantOnAddress) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { +func (m *MsgPlayerUpdatePrimaryAddress) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21498,10 +23671,10 @@ func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionRevokeOnObject: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddress: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionRevokeOnObject: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddress: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21538,7 +23711,7 @@ func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21566,11 +23739,11 @@ func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ObjectId = string(dAtA[iNdEx:postIndex]) + m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrimaryAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21598,27 +23771,58 @@ func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) + m.PrimaryAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.Permissions = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgPlayerUpdatePrimaryAddressResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddressResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -21640,7 +23844,7 @@ func (m *MsgPermissionRevokeOnObject) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPermissionRevokeOnAddress) Unmarshal(dAtA []byte) error { +func (m *MsgPlayerResume) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21663,10 +23867,10 @@ func (m *MsgPermissionRevokeOnAddress) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionRevokeOnAddress: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPlayerResume: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionRevokeOnAddress: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPlayerResume: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21703,7 +23907,7 @@ func (m *MsgPermissionRevokeOnAddress) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21731,27 +23935,58 @@ func (m *MsgPermissionRevokeOnAddress) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Address = string(dAtA[iNdEx:postIndex]) + m.PlayerId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err } - m.Permissions = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgPlayerResumeResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgPlayerResumeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgPlayerResumeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -21773,7 +24008,7 @@ func (m *MsgPermissionRevokeOnAddress) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { +func (m *MsgReactorInfuse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21796,10 +24031,10 @@ func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionSetOnObject: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorInfuse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionSetOnObject: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorInfuse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -21836,7 +24071,7 @@ func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ObjectId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21864,11 +24099,11 @@ func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ObjectId = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -21896,13 +24131,13 @@ func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - m.Permissions = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -21912,11 +24147,25 @@ func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -21938,7 +24187,7 @@ func (m *MsgPermissionSetOnObject) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPermissionSetOnAddress) Unmarshal(dAtA []byte) error { +func (m *MsgReactorInfuseResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -21961,10 +24210,60 @@ func (m *MsgPermissionSetOnAddress) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionSetOnAddress: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorInfuseResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionSetOnAddress: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorInfuseResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgReactorBeginMigration) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgReactorBeginMigration: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgReactorBeginMigration: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -22001,7 +24300,7 @@ func (m *MsgPermissionSetOnAddress) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22023,136 +24322,17 @@ func (m *MsgPermissionSetOnAddress) Unmarshal(dAtA []byte) error { return ErrInvalidLengthTx } postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Permissions", wireType) - } - m.Permissions = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Permissions |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgPermissionResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgPermissionResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPermissionResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgPlanetExplore) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx + if postIndex < 0 { + return ErrInvalidLengthTx } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgPlanetExplore: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlanetExplore: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorSrcAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22180,11 +24360,11 @@ func (m *MsgPlanetExplore) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + m.ValidatorSrcAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorDstAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22212,7 +24392,40 @@ func (m *MsgPlanetExplore) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) + m.ValidatorDstAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -22235,7 +24448,7 @@ func (m *MsgPlanetExplore) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPlanetExploreResponse) Unmarshal(dAtA []byte) error { +func (m *MsgReactorBeginMigrationResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22258,15 +24471,15 @@ func (m *MsgPlanetExploreResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPlanetExploreResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorBeginMigrationResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlanetExploreResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorBeginMigrationResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Planet", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22293,7 +24506,7 @@ func (m *MsgPlanetExploreResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Planet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -22318,7 +24531,7 @@ func (m *MsgPlanetExploreResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { +func (m *MsgReactorDefuse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22341,10 +24554,10 @@ func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPlanetRaidComplete: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorDefuse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlanetRaidComplete: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorDefuse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -22381,7 +24594,7 @@ func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FleetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22409,11 +24622,11 @@ func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FleetId = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Proof", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22441,13 +24654,13 @@ func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Proof = string(dAtA[iNdEx:postIndex]) + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -22457,23 +24670,24 @@ func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Nonce = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -22496,7 +24710,7 @@ func (m *MsgPlanetRaidComplete) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPlanetRaidCompleteResponse) Unmarshal(dAtA []byte) error { +func (m *MsgReactorDefuseResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22519,15 +24733,15 @@ func (m *MsgPlanetRaidCompleteResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPlanetRaidCompleteResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorDefuseResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlanetRaidCompleteResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorDefuseResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Fleet", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CompletionTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22554,13 +24768,13 @@ func (m *MsgPlanetRaidCompleteResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Fleet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := github_com_cosmos_gogoproto_types.StdTimeUnmarshal(&m.CompletionTime, dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Planet", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -22587,29 +24801,10 @@ func (m *MsgPlanetRaidCompleteResponse) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.Planet.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OreStolen", wireType) - } - m.OreStolen = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OreStolen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -22631,7 +24826,7 @@ func (m *MsgPlanetRaidCompleteResponse) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPlayerUpdatePrimaryAddress) Unmarshal(dAtA []byte) error { +func (m *MsgReactorCancelDefusion) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22654,10 +24849,10 @@ func (m *MsgPlayerUpdatePrimaryAddress) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddress: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorCancelDefusion: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddress: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorCancelDefusion: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -22694,7 +24889,7 @@ func (m *MsgPlayerUpdatePrimaryAddress) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DelegatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22722,11 +24917,11 @@ func (m *MsgPlayerUpdatePrimaryAddress) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PlayerId = string(dAtA[iNdEx:postIndex]) + m.DelegatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PrimaryAddress", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -22754,113 +24949,13 @@ func (m *MsgPlayerUpdatePrimaryAddress) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PrimaryAddress = string(dAtA[iNdEx:postIndex]) + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgPlayerUpdatePrimaryAddressResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddressResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlayerUpdatePrimaryAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgPlayerResume) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgPlayerResume: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlayerResume: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Creator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -22870,29 +24965,30 @@ func (m *MsgPlayerResume) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLengthTx } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLengthTx } if postIndex > l { return io.ErrUnexpectedEOF } - m.Creator = string(dAtA[iNdEx:postIndex]) + if err := m.Amount.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PlayerId", wireType) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CreationHeight", wireType) } - var stringLen uint64 + m.CreationHeight = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowTx @@ -22902,24 +24998,11 @@ func (m *MsgPlayerResume) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.CreationHeight |= int64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PlayerId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTx(dAtA[iNdEx:]) @@ -22941,7 +25024,7 @@ func (m *MsgPlayerResume) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgPlayerResumeResponse) Unmarshal(dAtA []byte) error { +func (m *MsgReactorCancelDefusionResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -22964,10 +25047,10 @@ func (m *MsgPlayerResumeResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgPlayerResumeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgReactorCancelDefusionResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgPlayerResumeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgReactorCancelDefusionResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: From 4bef7a8b62ffff0ab25654dc9abe741466310302 Mon Sep 17 00:00:00 2001 From: abstrct Date: Tue, 21 Oct 2025 23:36:59 -0400 Subject: [PATCH 09/19] Abstracted Validation Delegation via Reactor Infuse. --- x/structs/keeper/msg_server_reactor_infuse.go | 63 ++++++++++++++++++- x/structs/types/errors.go | 2 + x/structs/types/expected_keepers.go | 2 + 3 files changed, 65 insertions(+), 2 deletions(-) diff --git a/x/structs/keeper/msg_server_reactor_infuse.go b/x/structs/keeper/msg_server_reactor_infuse.go index c78a839..6961e6b 100644 --- a/x/structs/keeper/msg_server_reactor_infuse.go +++ b/x/structs/keeper/msg_server_reactor_infuse.go @@ -5,9 +5,9 @@ import ( //"time" //"cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - //sdkerrors "cosmossdk.io/errors" + sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - //staking "github.com/cosmos/cosmos-sdk/x/staking/types" + staking "github.com/cosmos/cosmos-sdk/x/staking/types" ) func (k msgServer) ReactorInfuse(goCtx context.Context, msg *types.MsgReactorInfuse) (*types.MsgReactorInfuseResponse, error) { @@ -16,6 +16,65 @@ func (k msgServer) ReactorInfuse(goCtx context.Context, msg *types.MsgReactorInf // indexer for UI requirements k.AddressEmitActivity(ctx, msg.Creator) + // Load the player related to the specified address + // Normally the address specified should be the PrimaryAddress + player, err := k.GetPlayerCacheFromAddress(ctx, msg.DelegatorAddress) + if err != nil { + return &types.MsgReactorInfuseResponse{}, err + } + + // Check if msg.Creator has PermissionAssets on the Address and Account + err = player.CanBeAdministratedBy(msg.Creator, types.PermissionAssets) + if err != nil { + return &types.MsgReactorInfuseResponse{}, err + } + + delegatorAddress, delegatorAddressErr := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if delegatorAddressErr != nil { + return &types.MsgReactorInfuseResponse{}, sdkerrors.Wrapf(types.ErrReactorInfusion, "invalid delegator address: %s", delegatorAddressErr) + } + + valAddr, valErr := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if valErr != nil { + return &types.MsgReactorInfuseResponse{}, sdkerrors.Wrapf(types.ErrReactorInfusion, "invalid validator address: %s", valErr) + } + + + if !msg.Amount.IsValid() || !msg.Amount.Amount.IsPositive() { + return &types.MsgReactorInfuseResponse{}, sdkerrors.Wrapf(types.ErrReactorInfusion, "invalid delegation amount") + } + + validator, err := k.stakingKeeper.GetValidator(ctx, valAddr) + if err != nil { + return &types.MsgReactorInfuseResponse{}, err + } + + bondDenom, err := k.stakingKeeper.BondDenom(ctx) + if err != nil { + return &types.MsgReactorInfuseResponse{}, err + } + + if msg.Amount.Denom != bondDenom { + return &types.MsgReactorInfuseResponse{}, sdkerrors.Wrapf(types.ErrReactorInfusion, "invalid coin denomination: got %s, expected %s", msg.Amount.Denom, bondDenom) + } + + // NOTE: source funds are always unbonded + newShares, err := k.stakingKeeper.Delegate(ctx, delegatorAddress, msg.Amount.Amount, staking.Unbonded, validator, true) + if err != nil { + return &types.MsgReactorInfuseResponse{}, err + } + + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + staking.EventTypeDelegate, + sdk.NewAttribute(staking.AttributeKeyValidator, msg.ValidatorAddress), + sdk.NewAttribute(staking.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.String()), + sdk.NewAttribute(staking.AttributeKeyNewShares, newShares.String()), + ), + }) + + return &types.MsgReactorInfuseResponse{}, nil } diff --git a/x/structs/types/errors.go b/x/structs/types/errors.go index c50e313..013371e 100644 --- a/x/structs/types/errors.go +++ b/x/structs/types/errors.go @@ -68,6 +68,8 @@ var ( ErrPlanetExploration = sdkerrors.Register(ModuleName, 1711, "planet exploration failed") + ErrReactorInfusion = sdkerrors.Register(ModuleName, 2001, "Reactor Infusion Failed") + ErrReactorDefusion = sdkerrors.Register(ModuleName, 2002, "Reactor Defusion Failed") ErrStructBuildInitiate = sdkerrors.Register(ModuleName, 1721, "Struct build initialization failed") ErrStructBuildComplete = sdkerrors.Register(ModuleName, 1722, "Struct build completion failed") diff --git a/x/structs/types/expected_keepers.go b/x/structs/types/expected_keepers.go index fb2371d..bc882ab 100644 --- a/x/structs/types/expected_keepers.go +++ b/x/structs/types/expected_keepers.go @@ -36,6 +36,8 @@ type StakingKeeper interface { ValidateUnbondAmount(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, amt math.Int) (shares math.LegacyDec, err error) BeginRedelegation(ctx context.Context, delAddr sdk.AccAddress, valSrcAddr, valDstAddr sdk.ValAddress, sharesAmount math.LegacyDec) (completionTime time.Time, err error) + BondDenom(ctx context.Context) (string, error) + Delegate(ctx context.Context, delAddr sdk.AccAddress, bondAmt math.Int, tokenSrc staking.BondStatus, validator staking.Validator, subtractAccount bool) (newShares math.LegacyDec, err error) } // StakingHooks event hooks for staking validator object (noalias) From 5aa8e46c248661684c0cbfe84966cf5a121ae9c7 Mon Sep 17 00:00:00 2001 From: abstrct Date: Wed, 22 Oct 2025 00:07:26 -0400 Subject: [PATCH 10/19] Abstracted Validation Undelegation via Reactor Defuse. --- x/structs/keeper/msg_server_reactor_defuse.go | 71 +++++++++++++++++-- x/structs/types/codec.go | 5 ++ x/structs/types/expected_keepers.go | 1 + 3 files changed, 73 insertions(+), 4 deletions(-) diff --git a/x/structs/keeper/msg_server_reactor_defuse.go b/x/structs/keeper/msg_server_reactor_defuse.go index edcd633..2f9662a 100644 --- a/x/structs/keeper/msg_server_reactor_defuse.go +++ b/x/structs/keeper/msg_server_reactor_defuse.go @@ -2,12 +2,12 @@ package keeper import ( "context" - //"time" + "time" //"cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - //sdkerrors "cosmossdk.io/errors" + sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - //staking "github.com/cosmos/cosmos-sdk/x/staking/types" + staking "github.com/cosmos/cosmos-sdk/x/staking/types" ) func (k msgServer) ReactorDefuse(goCtx context.Context, msg *types.MsgReactorDefuse) (*types.MsgReactorDefuseResponse, error) { @@ -16,6 +16,69 @@ func (k msgServer) ReactorDefuse(goCtx context.Context, msg *types.MsgReactorDef // indexer for UI requirements k.AddressEmitActivity(ctx, msg.Creator) + // Load the player related to the specified address + // Normally the address specified should be the PrimaryAddress + player, err := k.GetPlayerCacheFromAddress(ctx, msg.DelegatorAddress) + if err != nil { + return &types.MsgReactorDefuseResponse{}, err + } - return &types.MsgReactorDefuseResponse{}, nil + // Check if msg.Creator has PermissionAssets on the Address and Account + err = player.CanBeAdministratedBy(msg.Creator, types.PermissionAssets) + if err != nil { + return &types.MsgReactorDefuseResponse{}, err + } + + delegatorAddress, delegatorAddressErr := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if delegatorAddressErr != nil { + return &types.MsgReactorDefuseResponse{}, sdkerrors.Wrapf(types.ErrReactorDefusion, "invalid delegator address: %s", delegatorAddressErr) + } + + valAddr, valErr := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if valErr != nil { + return &types.MsgReactorDefuseResponse{}, sdkerrors.Wrapf(types.ErrReactorDefusion, "invalid validator address: %s", valErr) + } + + if !msg.Amount.IsValid() || !msg.Amount.Amount.IsPositive() { + return &types.MsgReactorDefuseResponse{}, sdkerrors.Wrapf(types.ErrReactorDefusion, "invalid delegation amount") + } + + bondDenom, err := k.stakingKeeper.BondDenom(ctx) + if err != nil { + return &types.MsgReactorDefuseResponse{}, err + } + + if msg.Amount.Denom != bondDenom { + return &types.MsgReactorDefuseResponse{}, sdkerrors.Wrapf(types.ErrReactorDefusion, "invalid coin denomination: got %s, expected %s", msg.Amount.Denom, bondDenom) + } + + shares, err := k.stakingKeeper.ValidateUnbondAmount( + ctx, delegatorAddress, valAddr, msg.Amount.Amount, + ) + if err != nil { + return &types.MsgReactorDefuseResponse{}, err + } + + completionTime, undelegatedAmt, err := k.stakingKeeper.Undelegate(ctx, delegatorAddress, valAddr, shares) + if err != nil { + return &types.MsgReactorDefuseResponse{}, err + } + + undelegatedCoin := sdk.NewCoin(msg.Amount.Denom, undelegatedAmt) + + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + staking.EventTypeUnbond, + sdk.NewAttribute(staking.AttributeKeyValidator, msg.ValidatorAddress), + sdk.NewAttribute(staking.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(sdk.AttributeKeyAmount, undelegatedCoin.String()), + sdk.NewAttribute(staking.AttributeKeyCompletionTime, completionTime.Format(time.RFC3339)), + ), + }) + + + return &types.MsgReactorDefuseResponse{ + CompletionTime: completionTime, + Amount: undelegatedCoin, + }, nil } diff --git a/x/structs/types/codec.go b/x/structs/types/codec.go index ec30851..dcd8b42 100644 --- a/x/structs/types/codec.go +++ b/x/structs/types/codec.go @@ -76,6 +76,11 @@ func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), &MsgProviderGuildRevoke{},) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgProviderDelete{},) + registry.RegisterImplementations((*sdk.Msg)(nil), &MsgReactorInfuse{},) + registry.RegisterImplementations((*sdk.Msg)(nil), &MsgReactorDefuse{},) + registry.RegisterImplementations((*sdk.Msg)(nil), &MsgReactorBeginMigration{},) + registry.RegisterImplementations((*sdk.Msg)(nil), &MsgReactorCancelDefusion{},) + registry.RegisterImplementations((*sdk.Msg)(nil), &MsgStructActivate{},) registry.RegisterImplementations((*sdk.Msg)(nil), &MsgStructDeactivate{},) diff --git a/x/structs/types/expected_keepers.go b/x/structs/types/expected_keepers.go index bc882ab..c0cb982 100644 --- a/x/structs/types/expected_keepers.go +++ b/x/structs/types/expected_keepers.go @@ -38,6 +38,7 @@ type StakingKeeper interface { BondDenom(ctx context.Context) (string, error) Delegate(ctx context.Context, delAddr sdk.AccAddress, bondAmt math.Int, tokenSrc staking.BondStatus, validator staking.Validator, subtractAccount bool) (newShares math.LegacyDec, err error) + Undelegate(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount math.LegacyDec) (time.Time, math.Int, error) } // StakingHooks event hooks for staking validator object (noalias) From 1f945775fd6cdd4925419815b92e7e807f783367 Mon Sep 17 00:00:00 2001 From: abstrct Date: Wed, 22 Oct 2025 10:25:03 -0400 Subject: [PATCH 11/19] Abstracted Validation Begin Redelegation via Reactor Begin Migration. --- .../msg_server_reactor_begin_migration.go | 62 +++++++++++++++++-- x/structs/keeper/msg_server_reactor_defuse.go | 1 - x/structs/types/errors.go | 2 + 3 files changed, 60 insertions(+), 5 deletions(-) diff --git a/x/structs/keeper/msg_server_reactor_begin_migration.go b/x/structs/keeper/msg_server_reactor_begin_migration.go index 88f8f6d..a576f50 100644 --- a/x/structs/keeper/msg_server_reactor_begin_migration.go +++ b/x/structs/keeper/msg_server_reactor_begin_migration.go @@ -2,12 +2,12 @@ package keeper import ( "context" - //"time" + "time" //"cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - //sdkerrors "cosmossdk.io/errors" + sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - //staking "github.com/cosmos/cosmos-sdk/x/staking/types" + staking "github.com/cosmos/cosmos-sdk/x/staking/types" ) func (k msgServer) ReactorBeginMigration(goCtx context.Context, msg *types.MsgReactorBeginMigration) (*types.MsgReactorBeginMigrationResponse, error) { @@ -16,6 +16,60 @@ func (k msgServer) ReactorBeginMigration(goCtx context.Context, msg *types.MsgRe // indexer for UI requirements k.AddressEmitActivity(ctx, msg.Creator) + valSrcAddr, valSrcErr := sdk.ValAddressFromBech32(msg.ValidatorSrcAddress) + if valSrcErr != nil { + return &types.MsgReactorBeginMigrationResponse{}, sdkerrors.Wrapf(types.ErrReactorBeginMigration, "invalid validator address: %s", valSrcErr) + } - return &types.MsgReactorBeginMigrationResponse{}, nil + valDstAddr, valDstErr := sdk.ValAddressFromBech32(msg.ValidatorDstAddress) + if valDstErr != nil { + return &types.MsgReactorBeginMigrationResponse{}, sdkerrors.Wrapf(types.ErrReactorBeginMigration, "invalid validator address: %s", valDstErr) + } + + delegatorAddress, delegatorAddressErr := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if delegatorAddressErr != nil { + return &types.MsgReactorBeginMigrationResponse{}, sdkerrors.Wrapf(types.ErrReactorBeginMigration, "invalid delegator address: %s", delegatorAddressErr) + } + + if !msg.Amount.IsValid() || !msg.Amount.Amount.IsPositive() { + return &types.MsgReactorBeginMigrationResponse{}, sdkerrors.Wrapf(types.ErrReactorBeginMigration, "invalid delegation amount") + } + + shares, err := k.stakingKeeper.ValidateUnbondAmount( + ctx, delegatorAddress, valSrcAddr, msg.Amount.Amount, + ) + if err != nil { + return &types.MsgReactorBeginMigrationResponse{}, err + } + + bondDenom, err := k.stakingKeeper.BondDenom(ctx) + if err != nil { + return &types.MsgReactorBeginMigrationResponse{}, err + } + + if msg.Amount.Denom != bondDenom { + return &types.MsgReactorBeginMigrationResponse{}, sdkerrors.Wrapf(types.ErrReactorBeginMigration, "invalid coin denomination: got %s, expected %s", msg.Amount.Denom, bondDenom) + } + + completionTime, err := k.stakingKeeper.BeginRedelegation( + ctx, delegatorAddress, valSrcAddr, valDstAddr, shares, + ) + if err != nil { + return &types.MsgReactorBeginMigrationResponse{}, err + } + + + + ctx.EventManager().EmitEvents(sdk.Events{ + sdk.NewEvent( + staking.EventTypeRedelegate, + sdk.NewAttribute(staking.AttributeKeySrcValidator, msg.ValidatorSrcAddress), + sdk.NewAttribute(staking.AttributeKeyDstValidator, msg.ValidatorDstAddress), + sdk.NewAttribute(staking.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.String()), + sdk.NewAttribute(staking.AttributeKeyCompletionTime, completionTime.Format(time.RFC3339)), + ), + }) + + return &types.MsgReactorBeginMigrationResponse{CompletionTime: completionTime,}, nil } diff --git a/x/structs/keeper/msg_server_reactor_defuse.go b/x/structs/keeper/msg_server_reactor_defuse.go index 2f9662a..de55f8d 100644 --- a/x/structs/keeper/msg_server_reactor_defuse.go +++ b/x/structs/keeper/msg_server_reactor_defuse.go @@ -76,7 +76,6 @@ func (k msgServer) ReactorDefuse(goCtx context.Context, msg *types.MsgReactorDef ), }) - return &types.MsgReactorDefuseResponse{ CompletionTime: completionTime, Amount: undelegatedCoin, diff --git a/x/structs/types/errors.go b/x/structs/types/errors.go index 013371e..fa5cd2d 100644 --- a/x/structs/types/errors.go +++ b/x/structs/types/errors.go @@ -70,6 +70,8 @@ var ( ErrReactorInfusion = sdkerrors.Register(ModuleName, 2001, "Reactor Infusion Failed") ErrReactorDefusion = sdkerrors.Register(ModuleName, 2002, "Reactor Defusion Failed") + ErrReactorBeginMigration = sdkerrors.Register(ModuleName, 2003, "Reactor Beginning Migration Failed") + ErrReactorCancelDefusion = sdkerrors.Register(ModuleName, 2004, "Reactor Canceling Defusion Failed") ErrStructBuildInitiate = sdkerrors.Register(ModuleName, 1721, "Struct build initialization failed") ErrStructBuildComplete = sdkerrors.Register(ModuleName, 1722, "Struct build completion failed") From 211d0ad678d90ddb7506b37390c3b76dd4af2dfc Mon Sep 17 00:00:00 2001 From: abstrct Date: Wed, 22 Oct 2025 13:03:31 -0400 Subject: [PATCH 12/19] Abstracted Validation Cancel Undelegation via Reactor Cancel Defusion. --- .../msg_server_reactor_begin_migration.go | 13 ++ .../msg_server_reactor_cancel_defusion.go | 134 +++++++++++++++++- x/structs/types/expected_keepers.go | 3 + 3 files changed, 148 insertions(+), 2 deletions(-) diff --git a/x/structs/keeper/msg_server_reactor_begin_migration.go b/x/structs/keeper/msg_server_reactor_begin_migration.go index a576f50..8457137 100644 --- a/x/structs/keeper/msg_server_reactor_begin_migration.go +++ b/x/structs/keeper/msg_server_reactor_begin_migration.go @@ -16,6 +16,19 @@ func (k msgServer) ReactorBeginMigration(goCtx context.Context, msg *types.MsgRe // indexer for UI requirements k.AddressEmitActivity(ctx, msg.Creator) + // Load the player related to the specified address + // Normally the address specified should be the PrimaryAddress + player, err := k.GetPlayerCacheFromAddress(ctx, msg.DelegatorAddress) + if err != nil { + return &types.MsgReactorBeginMigrationResponse{}, err + } + + // Check if msg.Creator has PermissionAssets on the Address and Account + err = player.CanBeAdministratedBy(msg.Creator, types.PermissionAssets) + if err != nil { + return &types.MsgReactorBeginMigrationResponse{}, err + } + valSrcAddr, valSrcErr := sdk.ValAddressFromBech32(msg.ValidatorSrcAddress) if valSrcErr != nil { return &types.MsgReactorBeginMigrationResponse{}, sdkerrors.Wrapf(types.ErrReactorBeginMigration, "invalid validator address: %s", valSrcErr) diff --git a/x/structs/keeper/msg_server_reactor_cancel_defusion.go b/x/structs/keeper/msg_server_reactor_cancel_defusion.go index 8ab340b..7b17ed5 100644 --- a/x/structs/keeper/msg_server_reactor_cancel_defusion.go +++ b/x/structs/keeper/msg_server_reactor_cancel_defusion.go @@ -3,11 +3,12 @@ package keeper import ( "context" //"time" + "strconv" //"cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" - //sdkerrors "cosmossdk.io/errors" + sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - //staking "github.com/cosmos/cosmos-sdk/x/staking/types" + staking "github.com/cosmos/cosmos-sdk/x/staking/types" ) func (k msgServer) ReactorCancelDefusion(goCtx context.Context, msg *types.MsgReactorCancelDefusion) (*types.MsgReactorCancelDefusionResponse, error) { @@ -16,6 +17,135 @@ func (k msgServer) ReactorCancelDefusion(goCtx context.Context, msg *types.MsgRe // indexer for UI requirements k.AddressEmitActivity(ctx, msg.Creator) + // Load the player related to the specified address + // Normally the address specified should be the PrimaryAddress + player, err := k.GetPlayerCacheFromAddress(ctx, msg.DelegatorAddress) + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, err + } + + // Check if msg.Creator has PermissionAssets on the Address and Account + err = player.CanBeAdministratedBy(msg.Creator, types.PermissionAssets) + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, err + } + + + delegatorAddress, delegatorAddressErr := sdk.AccAddressFromBech32(msg.DelegatorAddress) + if delegatorAddressErr != nil { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "invalid delegator address: %s", delegatorAddressErr) + } + + valAddr, valErr := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if valErr != nil { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "invalid validator address: %s", valErr) + } + + if !msg.Amount.IsValid() || !msg.Amount.Amount.IsPositive() { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "invalid delegation amount") + } + + bondDenom, err := k.stakingKeeper.BondDenom(ctx) + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, err + } + + if msg.Amount.Denom != bondDenom { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "invalid coin denomination: got %s, expected %s", msg.Amount.Denom, bondDenom) + } + + if msg.CreationHeight <= 0 { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "invalid height" ) + } + + validator, err := k.stakingKeeper.GetValidator(ctx, valAddr) + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, err + } + + // In some situations, the exchange rate becomes invalid, e.g. if + // Validator loses all tokens due to slashing. In this case, + // make all future delegations invalid. + if validator.InvalidExRate() { + return &types.MsgReactorCancelDefusionResponse{}, staking.ErrDelegatorShareExRateInvalid + } + + if validator.IsJailed() { + return &types.MsgReactorCancelDefusionResponse{}, staking.ErrValidatorJailed + } + + ubd, err := k.stakingKeeper.GetUnbondingDelegation(ctx, delegatorAddress, valAddr) + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, + "unbonding delegation with delegator %s not found for validator %s", + msg.DelegatorAddress, msg.ValidatorAddress, + ) + } + + var ( + unbondEntry staking.UnbondingDelegationEntry + unbondEntryIndex int64 = -1 + ) + + for i, entry := range ubd.Entries { + if entry.CreationHeight == msg.CreationHeight { + unbondEntry = entry + unbondEntryIndex = int64(i) + break + } + } + if unbondEntryIndex == -1 { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "unbonding delegation entry is not found at block height %d", msg.CreationHeight) + } + + if unbondEntry.Balance.LT(msg.Amount.Amount) { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "amount is greater than the unbonding delegation entry balance") + } + + if unbondEntry.CompletionTime.Before(ctx.BlockTime()) { + return &types.MsgReactorCancelDefusionResponse{}, sdkerrors.Wrapf(types.ErrReactorCancelDefusion, "unbonding delegation is already processed") + } + + // delegate back the unbonding delegation amount to the validator + _, err = k.stakingKeeper.Delegate(ctx, delegatorAddress, msg.Amount.Amount, staking.Unbonding, validator, false) + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, err + } + + amount := unbondEntry.Balance.Sub(msg.Amount.Amount) + if amount.IsZero() { + ubd.RemoveEntry(unbondEntryIndex) + } else { + // update the unbondingDelegationEntryBalance and InitialBalance for ubd entry + unbondEntry.Balance = amount + unbondEntry.InitialBalance = unbondEntry.InitialBalance.Sub(msg.Amount.Amount) + ubd.Entries[unbondEntryIndex] = unbondEntry + } + + // set the unbonding delegation or remove it if there are no more entries + if len(ubd.Entries) == 0 { + err = k.stakingKeeper.RemoveUnbondingDelegation(ctx, ubd) + } else { + err = k.stakingKeeper.SetUnbondingDelegation(ctx, ubd) + } + + if err != nil { + return &types.MsgReactorCancelDefusionResponse{}, err + } + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + staking.EventTypeCancelUnbondingDelegation, + sdk.NewAttribute(sdk.AttributeKeyAmount, msg.Amount.String()), + sdk.NewAttribute(staking.AttributeKeyValidator, msg.ValidatorAddress), + sdk.NewAttribute(staking.AttributeKeyDelegator, msg.DelegatorAddress), + sdk.NewAttribute(staking.AttributeKeyCreationHeight, strconv.FormatInt(msg.CreationHeight, 10)), + ), + ) + + +// + return &types.MsgReactorCancelDefusionResponse{}, nil } diff --git a/x/structs/types/expected_keepers.go b/x/structs/types/expected_keepers.go index c0cb982..0239e10 100644 --- a/x/structs/types/expected_keepers.go +++ b/x/structs/types/expected_keepers.go @@ -39,6 +39,9 @@ type StakingKeeper interface { BondDenom(ctx context.Context) (string, error) Delegate(ctx context.Context, delAddr sdk.AccAddress, bondAmt math.Int, tokenSrc staking.BondStatus, validator staking.Validator, subtractAccount bool) (newShares math.LegacyDec, err error) Undelegate(ctx context.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount math.LegacyDec) (time.Time, math.Int, error) + RemoveUnbondingDelegation(ctx context.Context, ubd staking.UnbondingDelegation) error + SetUnbondingDelegation(ctx context.Context, ubd staking.UnbondingDelegation) error + } // StakingHooks event hooks for staking validator object (noalias) From 56ebb6a18665004b477aa40f2a0b7973a86ac3bf Mon Sep 17 00:00:00 2001 From: abstrct Date: Thu, 23 Oct 2025 10:50:31 -0400 Subject: [PATCH 13/19] Struct sweeping now has a block based delay (StructSweepDelay = 5). Also planet/fleet back references for slots are not cleared until the delay is met. --- proto/structs/structs/struct.proto | 39 -------------------- x/structs/keeper/planet.go | 1 - x/structs/keeper/struct.go | 58 ++++++++++++++++++++++++++++-- x/structs/keeper/struct_cache.go | 13 ------- x/structs/types/keys.go | 4 +++ 5 files changed, 60 insertions(+), 55 deletions(-) diff --git a/proto/structs/structs/struct.proto b/proto/structs/structs/struct.proto index ca7d685..9d00e58 100644 --- a/proto/structs/structs/struct.proto +++ b/proto/structs/structs/struct.proto @@ -174,42 +174,3 @@ message StructAttributes { } - -/* - -Defined Directly in Go instead of as a proto. -Never written to or recalled from a keeper, so this shouldn't be an issue. - -message StructCache { - string structId = 1; - - bool structureLoaded = 2; - Struct structure = 3; - - bool structTypeLoaded = 4; - StructType structType = 5; - - bool healthLoaded = 6; - uint64 health = 7; - - string statusAttributeId = 8; - bool statusLoaded = 9; - uint64 status = 10; - - bool blockStartBuildLoaded = 11; - uint64 blockStartBuild = 12; - - bool blockStartOreMineLoaded = 13; - uint64 blockStarOreMine = 14; - - bool blockStartOreRefineLoaded = 15; - uint64 blockStartOreRefine = 16; - - bool protectedStructIndexLoaded = 17; - uint64 protectedStructIndex = 18; - -} - -*/ - - diff --git a/x/structs/keeper/planet.go b/x/structs/keeper/planet.go index 576db01..5f4052d 100644 --- a/x/structs/keeper/planet.go +++ b/x/structs/keeper/planet.go @@ -119,4 +119,3 @@ func (k Keeper) GetAllPlanet(ctx context.Context) (list []types.Planet) { return } - diff --git a/x/structs/keeper/struct.go b/x/structs/keeper/struct.go index cdfed57..66cdad7 100644 --- a/x/structs/keeper/struct.go +++ b/x/structs/keeper/struct.go @@ -12,6 +12,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" //sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" + "strconv" "fmt" @@ -139,17 +140,29 @@ func (k Keeper) GetAllStruct(ctx context.Context) (list []types.Struct) { return } +func StructDestructionQueueReadKeyPrefix(blockHeight int64) []byte { + return []byte(types.StructDestroyedQueueKey + strconv.FormatInt(blockHeight, 10) + "/") +} + +func StructDestructionQueueAddKeyPrefix(blockHeight int64) []byte { + sweepHeight := blockHeight + types.StructSweepDelay + return []byte(types.StructDestroyedQueueKey + strconv.FormatInt(sweepHeight, 10) + "/") +} func (k Keeper) AppendStructDestructionQueue(ctx context.Context, structId string) { fmt.Printf("\n Sweep %s later", structId) - store := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), types.KeyPrefix(types.StructDestroyedQueueKey)) + + unwrapCtx := sdk.UnwrapSDKContext(ctx) + store := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), StructDestructionQueueAddKeyPrefix(unwrapCtx.BlockHeight())) + store.Set([]byte(structId), []byte{}) } func (k Keeper) StructSweepDestroyed(ctx context.Context) { - store := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), types.KeyPrefix(types.StructDestroyedQueueKey)) + unwrapCtx := sdk.UnwrapSDKContext(ctx) + store := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), StructDestructionQueueReadKeyPrefix(unwrapCtx.BlockHeight())) iterator := storetypes.KVStorePrefixIterator(store, []byte{}) defer iterator.Close() @@ -162,6 +175,47 @@ func (k Keeper) StructSweepDestroyed(ctx context.Context) { // "status": StructAttributeType_status, k.ClearStructAttribute(ctx, GetStructAttributeIDByObjectId(types.StructAttributeType_status, string(iterator.Key()) )) + structure, structFound := k.GetStruct(ctx, string(iterator.Key())) + if structFound { + // Location Back-Reference + switch structure.LocationType { + case types.ObjectType_planet: + planet, planetFound := k.GetPlanet(ctx, structure.LocationId) + if planetFound { + switch structure.OperatingAmbit { + case types.Ambit_water: + planet.Water[structure.Slot] = "" + case types.Ambit_land: + planet.Land[structure.Slot] = "" + case types.Ambit_air: + planet.Air[structure.Slot] = "" + case types.Ambit_space: + planet.Space[structure.Slot] = "" + } + k.SetPlanet(ctx, planet) + } + case types.ObjectType_fleet: + fleet, fleetFound := k.GetFleet(ctx, structure.LocationId) + if fleetFound { + if structure.Type == types.CommandStructTypeId { + fleet.CommandStruct = "" + } else { + switch structure.OperatingAmbit { + case types.Ambit_water: + fleet.Water[structure.Slot] = "" + case types.Ambit_land: + fleet.Land[structure.Slot] = "" + case types.Ambit_air: + fleet.Air[structure.Slot] = "" + case types.Ambit_space: + fleet.Space[structure.Slot] = "" + } + } + k.SetFleet(ctx, fleet) + } + } + } + // Object k.RemoveStruct(ctx, string(iterator.Key())) diff --git a/x/structs/keeper/struct_cache.go b/x/structs/keeper/struct_cache.go index 8bb0c1f..13ffd18 100644 --- a/x/structs/keeper/struct_cache.go +++ b/x/structs/keeper/struct_cache.go @@ -1257,19 +1257,6 @@ func (cache *StructCache) DestroyAndCommit() { cache.FleetChanged = true } - switch cache.GetLocationType() { - case types.ObjectType_planet: - cache.GetPlanet().ClearSlot(cache.GetOperatingAmbit(), cache.GetSlot()) - cache.PlanetChanged = true - case types.ObjectType_fleet: - if (cache.GetStructType().Type == types.CommandStruct) { - cache.GetFleet().ClearCommandStruct() - } else { - cache.GetFleet().ClearSlot(cache.GetOperatingAmbit(), cache.GetSlot()) - } - cache.FleetChanged = true - } - cache.K.AppendStructDestructionQueue(cache.Ctx, cache.StructId) cache.Commit() diff --git a/x/structs/types/keys.go b/x/structs/types/keys.go index c1d0bc4..1573790 100644 --- a/x/structs/types/keys.go +++ b/x/structs/types/keys.go @@ -45,11 +45,15 @@ const ( //Charge_Capacitance = 10.0 // This annoys me but whatever + CommandStructTypeId = 1 CommandStruct = "Command Ship" // Punishment Charge PlayerResumeCharge = 666 + // Rubble Length (blocks) + StructSweepDelay = 5 + ) var ( From 2ad31b9ddf727b9ccac36315e3c1a2b561fd3289 Mon Sep 17 00:00:00 2001 From: abstrct Date: Thu, 23 Oct 2025 17:48:36 -0400 Subject: [PATCH 14/19] Improving logging throughout the module --- x/structs/keeper/abci.go | 16 +++++----------- x/structs/keeper/agreement.go | 6 +++--- x/structs/keeper/agreement_cache.go | 3 +-- x/structs/keeper/agreement_index.go | 4 ++-- x/structs/keeper/fleet_cache.go | 3 +-- x/structs/keeper/grid.go | 16 +++++++--------- x/structs/keeper/grid_cache.go | 4 +--- x/structs/keeper/guild.go | 5 ++--- x/structs/keeper/guild_cache.go | 3 +-- x/structs/keeper/keeper.go | 2 +- x/structs/keeper/planet_attribute.go | 8 ++++---- x/structs/keeper/planet_cache.go | 2 +- 12 files changed, 29 insertions(+), 43 deletions(-) diff --git a/x/structs/keeper/abci.go b/x/structs/keeper/abci.go index f3fee8a..2ad71fa 100644 --- a/x/structs/keeper/abci.go +++ b/x/structs/keeper/abci.go @@ -12,9 +12,7 @@ import ( // and prune the oldest entry based on the HistoricalEntries parameter func (k *Keeper) BeginBlocker(ctx context.Context) { - ctxSDK := sdk.UnwrapSDKContext(ctx) - - ctxSDK.Logger().Debug("Begin Block Processes") + k.logger.Debug("Begin Block Processes") k.EmitEventTime(ctx) @@ -22,15 +20,12 @@ func (k *Keeper) BeginBlocker(ctx context.Context) { k.StructSweepDestroyed(ctx) - ctxSDK.Logger().Debug("Begin Block Complete") + k.logger.Debug("Begin Block Complete") } // Called every block, update validator set func (k *Keeper) EndBlocker(ctx context.Context) ([]abci.ValidatorUpdate, error) { - - ctxSDK := sdk.UnwrapSDKContext(ctx) - - ctxSDK.Logger().Debug("End Block Processes") + k.logger.Debug("End Block Processes") k.AgreementExpirations(ctx) @@ -42,14 +37,13 @@ func (k *Keeper) EndBlocker(ctx context.Context) ([]abci.ValidatorUpdate, error) */ k.GridCascade(ctx) - ctxSDK.Logger().Debug("End Block Complete") + k.logger.Debug("End Block Complete") return []abci.ValidatorUpdate{}, nil } func (k Keeper) EmitEventTime(ctx context.Context) { ctxSDK := sdk.UnwrapSDKContext(ctx) - ctxSDK.Logger().Debug("Emit Event Time") _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventTime{&types.EventTimeDetail{BlockHeight: ctxSDK.BlockHeight(), BlockTime: ctxSDK.HeaderInfo().Time.UTC() }}) } @@ -58,7 +52,7 @@ func (k *Keeper) EventAllGenesis(ctx context.Context) { if ctxSDK.BlockHeight() > 1 { return } - ctxSDK.Logger().Info("Spewing Genesis Events") + k.logger.Info("Spewing Genesis Events into the Indexer") // Player players := k.GetAllPlayer(ctx) diff --git a/x/structs/keeper/agreement.go b/x/structs/keeper/agreement.go index c9c4a60..8805536 100644 --- a/x/structs/keeper/agreement.go +++ b/x/structs/keeper/agreement.go @@ -12,7 +12,7 @@ import ( "structs/x/structs/types" //sdkerrors "cosmossdk.io/errors" - "fmt" + ) @@ -75,7 +75,7 @@ func (k Keeper) RemoveAgreement(ctx context.Context, agreement types.Agreement) } func (k Keeper) AgreementExpirations(ctx context.Context) { - fmt.Printf("Checking for Expired Agreements \n") + k.logger.Debug("Checking for Expired Agreements") uctx := sdk.UnwrapSDKContext(ctx) currentBlock := uint64(uctx.BlockHeight()) @@ -83,7 +83,7 @@ func (k Keeper) AgreementExpirations(ctx context.Context) { // Get List of Agreements agreements := k.GetAllAgreementIdByExpirationIndex(ctx, currentBlock) for _, agreementId := range agreements { - fmt.Printf("Expired Agreement %s \n", agreementId) + k.logger.Info("Expired Agreement","agreementId",agreementId) agreement := k.GetAgreementCacheFromId(ctx, agreementId) agreement.GetProvider().Checkpoint() agreement.Expire() diff --git a/x/structs/keeper/agreement_cache.go b/x/structs/keeper/agreement_cache.go index 2ab3d10..75870c4 100644 --- a/x/structs/keeper/agreement_cache.go +++ b/x/structs/keeper/agreement_cache.go @@ -7,7 +7,6 @@ import ( sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" "cosmossdk.io/math" - "fmt" ) type AgreementCache struct { @@ -76,7 +75,7 @@ func (k *Keeper) GetAgreementCacheFromId(ctx context.Context, agreementId string func (cache *AgreementCache) Commit() { cache.AnyChange = false - fmt.Printf("\n Updating Agreement From Cache (%s) \n", cache.AgreementId) + cache.K.logger.Debug("Updating Agreement From Cache","agreementId",cache.AgreementId) if cache.AgreementChanged { cache.K.SetAgreement(cache.Ctx, cache.Agreement) diff --git a/x/structs/keeper/agreement_index.go b/x/structs/keeper/agreement_index.go index d857940..dd88b65 100644 --- a/x/structs/keeper/agreement_index.go +++ b/x/structs/keeper/agreement_index.go @@ -10,7 +10,7 @@ import ( "structs/x/structs/types" "strconv" - "fmt" + ) @@ -74,7 +74,7 @@ func (k Keeper) GetAllAgreementByProviderIndex(ctx context.Context, providerId s func (k Keeper) SetAgreementExpirationIndex(ctx context.Context, block uint64, agreementId string) (err error) { providerIndexStore := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), AgreementExpirationKeyPrefix(block)) - fmt.Printf("New Agreement %s will expire on %d \n", agreementId, block) + k.logger.Debug("New Agreement ", "agreementId", agreementId, "expirationHeight", block) bz := make([]byte, 8) binary.BigEndian.PutUint64(bz, 1) diff --git a/x/structs/keeper/fleet_cache.go b/x/structs/keeper/fleet_cache.go index 9b61c85..2b6771b 100644 --- a/x/structs/keeper/fleet_cache.go +++ b/x/structs/keeper/fleet_cache.go @@ -4,7 +4,6 @@ import ( "context" //"math" - "fmt" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" @@ -72,7 +71,7 @@ func (k *Keeper) GetFleetCacheFromId(ctx context.Context, fleetId string) (Fleet func (cache *FleetCache) Commit() () { cache.AnyChange = false - fmt.Printf("\n Updating Fleet From Cache (%s) \n", cache.FleetId) + cache.K.logger.Debug("Updating Fleet From Cache","fleetId",cache.FleetId) if (cache.FleetChanged) { cache.K.SetFleet(cache.Ctx, cache.Fleet) } diff --git a/x/structs/keeper/grid.go b/x/structs/keeper/grid.go index 530fba7..df77a97 100644 --- a/x/structs/keeper/grid.go +++ b/x/structs/keeper/grid.go @@ -10,7 +10,6 @@ import ( "structs/x/structs/types" //sdkerrors "cosmossdk.io/errors" - "fmt" ) @@ -68,7 +67,7 @@ func (k Keeper) SetGridAttribute(ctx context.Context, gridAttributeId string, am ctxSDK := sdk.UnwrapSDKContext(ctx) _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventGrid{&types.GridRecord{AttributeId: gridAttributeId, Value: amount}}) - fmt.Printf("Grid Change (Set): (%s) %d \n", gridAttributeId, amount) + k.logger.Info("Grid Change (Set)", "gridAttributeId", gridAttributeId, "amount", amount) } func (k Keeper) SetGridAttributeDelta(ctx context.Context, gridAttributeId string, oldAmount uint64, newAmount uint64) (amount uint64, err error) { @@ -81,7 +80,7 @@ func (k Keeper) SetGridAttributeDelta(ctx context.Context, gridAttributeId strin amount = resetAmount + newAmount - fmt.Printf("Grid Change (Delta): (%s) %d to %d \n", gridAttributeId, oldAmount, newAmount) + k.logger.Info("Grid Change (Delta)", "gridAttributeId", gridAttributeId, "oldAmount", oldAmount, "newAmount", newAmount) k.SetGridAttribute(ctx, gridAttributeId, amount) return @@ -94,8 +93,7 @@ func (k Keeper) SetGridAttributeDecrement(ctx context.Context, gridAttributeId s amount = currentAmount - decrementAmount } - - fmt.Printf("Grid Change (Decrement): (%s) %d \n", gridAttributeId, decrementAmount) + k.logger.Info("Grid Change (Decrement)","gridAttributeId", gridAttributeId, "decrementAmount", decrementAmount) k.SetGridAttribute(ctx, gridAttributeId, amount) return @@ -106,7 +104,7 @@ func (k Keeper) SetGridAttributeIncrement(ctx context.Context, gridAttributeId s amount = currentAmount + incrementAmount - fmt.Printf("Grid Change (Increment): (%s) %d \n", gridAttributeId, incrementAmount) + k.logger.Info("Grid Change (Increment)", "gridAttributeId", gridAttributeId, "incrementAmount", incrementAmount) k.SetGridAttribute(ctx, gridAttributeId, amount) return @@ -137,7 +135,7 @@ func (k Keeper) AppendGridCascadeQueue(ctx context.Context, queueId string) (err gridCascadeQueueStore.Set([]byte(queueId), bz) - fmt.Printf("Grid Queue (Add): (%s) \n", queueId) + k.logger.Info("Grid Queue (Add)", "queueId", queueId) return err } @@ -163,10 +161,10 @@ func (k Keeper) GridCascade(ctx context.Context) { allocationPointer := 0 for (k.GetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_load, objectId)) > k.GetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_capacity, objectId))) { - fmt.Printf("Grid Queue (Brownout): (%s) Load: %d Capacity: %d \n", objectId, k.GetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_load, objectId)), k.GetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_capacity, objectId))) + k.logger.Info("Grid Queue (Brownout)", "objectId", objectId, "load", k.GetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_load, objectId)), "capacity", k.GetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_capacity, objectId))) k.DestroyAllocation(ctx, allocationList[allocationPointer]) - fmt.Printf("Grid Queue (Allocation Destroyed): (%s) \n", allocationList[allocationPointer]) + k.logger.Info("Grid Queue (Allocation Destroyed)","allocationId", allocationList[allocationPointer]) allocationPointer++ } diff --git a/x/structs/keeper/grid_cache.go b/x/structs/keeper/grid_cache.go index cc0294c..dd0cc97 100644 --- a/x/structs/keeper/grid_cache.go +++ b/x/structs/keeper/grid_cache.go @@ -7,8 +7,6 @@ import ( //sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - "fmt" - ) @@ -120,7 +118,7 @@ func (k *Keeper) GetGridCacheFromId(ctx context.Context, objectId string) (GridC func (cache *GridCache) Commit() () { cache.AnyChange = false - fmt.Printf("\n Updating Grid From Cache (%s) \n", cache.ObjectId) + cache.K.logger.Debug("Updating Grid From Cache","objectId",cache.ObjectId) if (cache.OreChanged) { cache.K.SetGridAttribute(cache.Ctx, cache.OreAttributeId, cache.Ore) diff --git a/x/structs/keeper/guild.go b/x/structs/keeper/guild.go index 482837f..558939c 100644 --- a/x/structs/keeper/guild.go +++ b/x/structs/keeper/guild.go @@ -15,7 +15,7 @@ import ( authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" //"strconv" //"strings" - "fmt" + //"fmt" ) // GetGuildCount get the total number of guild @@ -90,8 +90,7 @@ func (k Keeper) AppendGuild( k.bankKeeper.SetDenomMetaData(ctx, guildDenomMetadata) - fmt.Printf("Guild Collateral Pool: %s", types.GuildBankCollateralPool + guild.Id) - fmt.Printf("Guild Collateral Pool: %s", authtypes.NewModuleAddress(types.GuildBankCollateralPool + guild.Id).String()) + k.logger.Info("Guild Collateral Pool Address","raw", types.GuildBankCollateralPool + guild.Id,"address",authtypes.NewModuleAddress(types.GuildBankCollateralPool + guild.Id).String()) // types.ModuleName Guild Bank Mint guildCollateralAddress := authtypes.NewModuleAddress(types.GuildBankCollateralPool + guild.Id) diff --git a/x/structs/keeper/guild_cache.go b/x/structs/keeper/guild_cache.go index c5c2abb..834509d 100644 --- a/x/structs/keeper/guild_cache.go +++ b/x/structs/keeper/guild_cache.go @@ -9,7 +9,6 @@ import ( // Used in Randomness Orb - "fmt" "cosmossdk.io/math" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) @@ -72,7 +71,7 @@ func (k *Keeper) GetGuildCacheFromId(ctx context.Context, guildId string) GuildC func (cache *GuildCache) Commit() { cache.AnyChange = false - fmt.Printf("\n Updating Guild From Cache (%s) \n", cache.GuildId) + cache.K.logger.Debug("Updating Guild From Cache", "guildId", cache.GuildId) if cache.GuildChanged { cache.K.SetGuild(cache.Ctx, cache.Guild) diff --git a/x/structs/keeper/keeper.go b/x/structs/keeper/keeper.go index 9e6f587..78aba2f 100644 --- a/x/structs/keeper/keeper.go +++ b/x/structs/keeper/keeper.go @@ -60,7 +60,7 @@ func NewKeeper( cdc: cdc, storeService: storeService, authority: authority, - logger: logger, + logger: logger.With("module", "structs"), ibcKeeperFn: ibcKeeperFn, capabilityScopedFn: capabilityScopedFn, diff --git a/x/structs/keeper/planet_attribute.go b/x/structs/keeper/planet_attribute.go index 17238fb..3cc1e25 100644 --- a/x/structs/keeper/planet_attribute.go +++ b/x/structs/keeper/planet_attribute.go @@ -61,7 +61,7 @@ func (k Keeper) SetPlanetAttribute(ctx context.Context, planetAttributeId string ctxSDK := sdk.UnwrapSDKContext(ctx) _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventPlanetAttribute{&types.PlanetAttributeRecord{AttributeId: planetAttributeId, Value: amount}}) - fmt.Printf("Planet Change (Set): (%s) %d \n", planetAttributeId, amount) + k.logger.Info("Planet Change (Set)", "planetAttributeId", planetAttributeId, "amount", amount) } func (k Keeper) SetPlanetAttributeDelta(ctx context.Context, planetAttributeId string, oldAmount uint64, newAmount uint64) (amount uint64, err error) { @@ -74,7 +74,7 @@ func (k Keeper) SetPlanetAttributeDelta(ctx context.Context, planetAttributeId s amount = resetAmount + newAmount - fmt.Printf("Planet Change (Delta): (%s) %d to %d \n", planetAttributeId, oldAmount, newAmount) + k.logger.Info("Planet Change (Delta)", "planetAttributeId", planetAttributeId, "oldAmount", oldAmount, "newAmount", newAmount) k.SetPlanetAttribute(ctx, planetAttributeId, amount) return @@ -87,7 +87,7 @@ func (k Keeper) SetPlanetAttributeDecrement(ctx context.Context, planetAttribute amount = currentAmount - decrementAmount } - fmt.Printf("Planet Change (Decrement): (%s) %d \n", planetAttributeId, decrementAmount) + k.logger.Info("Planet Change (Decrement)", "planetAttributeId", planetAttributeId, "decrementAmount", decrementAmount) k.SetPlanetAttribute(ctx, planetAttributeId, amount) return @@ -98,7 +98,7 @@ func (k Keeper) SetPlanetAttributeIncrement(ctx context.Context, planetAttribute amount = currentAmount + incrementAmount - fmt.Printf("Planet Change (Increment): (%s) %d \n", planetAttributeId, incrementAmount) + k.logger.Info("Planet Change (Increment)", "planetAttributeId", planetAttributeId, "incrementAmount", incrementAmount) k.SetPlanetAttribute(ctx, planetAttributeId, amount) return diff --git a/x/structs/keeper/planet_cache.go b/x/structs/keeper/planet_cache.go index f392c89..e28513f 100644 --- a/x/structs/keeper/planet_cache.go +++ b/x/structs/keeper/planet_cache.go @@ -165,7 +165,7 @@ func (k *Keeper) GetPlanetCacheFromId(ctx context.Context, planetId string) (Pla func (cache *PlanetCache) Commit() () { cache.AnyChange = false - fmt.Printf("\n Updating Planet From Cache (%s) \n", cache.PlanetId) + cache.K.logger.Debug("Updating Planet From Cache","planetId",cache.PlanetId) if (cache.PlanetChanged) { cache.K.SetPlanet(cache.Ctx, cache.Planet) From f06601a3e3526b40f2969776e94dd890f83cfca1 Mon Sep 17 00:00:00 2001 From: abstrct Date: Thu, 23 Oct 2025 23:43:23 -0400 Subject: [PATCH 15/19] Improving logging throughout the module --- x/structs/keeper/agreement_cache.go | 2 +- x/structs/keeper/agreement_index.go | 2 +- x/structs/keeper/fleet_cache.go | 2 +- x/structs/keeper/grid_cache.go | 2 +- x/structs/keeper/guild_cache.go | 2 +- x/structs/keeper/planet_cache.go | 21 ++++++------- x/structs/keeper/player_cache.go | 3 +- x/structs/keeper/provider.go | 24 ++++++++------ x/structs/keeper/provider_cache.go | 6 +--- x/structs/keeper/reactor_hooks.go | 6 ++-- x/structs/keeper/struct.go | 6 ++-- x/structs/keeper/struct_attribute.go | 10 +++--- x/structs/keeper/struct_cache.go | 47 +++++++++++++--------------- x/structs/keeper/substation_cache.go | 5 +-- 14 files changed, 61 insertions(+), 77 deletions(-) diff --git a/x/structs/keeper/agreement_cache.go b/x/structs/keeper/agreement_cache.go index 75870c4..f3522c7 100644 --- a/x/structs/keeper/agreement_cache.go +++ b/x/structs/keeper/agreement_cache.go @@ -75,7 +75,7 @@ func (k *Keeper) GetAgreementCacheFromId(ctx context.Context, agreementId string func (cache *AgreementCache) Commit() { cache.AnyChange = false - cache.K.logger.Debug("Updating Agreement From Cache","agreementId",cache.AgreementId) + cache.K.logger.Info("Updating Agreement From Cache","agreementId",cache.AgreementId) if cache.AgreementChanged { cache.K.SetAgreement(cache.Ctx, cache.Agreement) diff --git a/x/structs/keeper/agreement_index.go b/x/structs/keeper/agreement_index.go index dd88b65..0e3d665 100644 --- a/x/structs/keeper/agreement_index.go +++ b/x/structs/keeper/agreement_index.go @@ -74,7 +74,7 @@ func (k Keeper) GetAllAgreementByProviderIndex(ctx context.Context, providerId s func (k Keeper) SetAgreementExpirationIndex(ctx context.Context, block uint64, agreementId string) (err error) { providerIndexStore := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), AgreementExpirationKeyPrefix(block)) - k.logger.Debug("New Agreement ", "agreementId", agreementId, "expirationHeight", block) + k.logger.Info("New Agreement ", "agreementId", agreementId, "expirationHeight", block) bz := make([]byte, 8) binary.BigEndian.PutUint64(bz, 1) diff --git a/x/structs/keeper/fleet_cache.go b/x/structs/keeper/fleet_cache.go index 2b6771b..940f99f 100644 --- a/x/structs/keeper/fleet_cache.go +++ b/x/structs/keeper/fleet_cache.go @@ -71,7 +71,7 @@ func (k *Keeper) GetFleetCacheFromId(ctx context.Context, fleetId string) (Fleet func (cache *FleetCache) Commit() () { cache.AnyChange = false - cache.K.logger.Debug("Updating Fleet From Cache","fleetId",cache.FleetId) + cache.K.logger.Info("Updating Fleet From Cache","fleetId",cache.FleetId) if (cache.FleetChanged) { cache.K.SetFleet(cache.Ctx, cache.Fleet) } diff --git a/x/structs/keeper/grid_cache.go b/x/structs/keeper/grid_cache.go index dd0cc97..aab83b6 100644 --- a/x/structs/keeper/grid_cache.go +++ b/x/structs/keeper/grid_cache.go @@ -118,7 +118,7 @@ func (k *Keeper) GetGridCacheFromId(ctx context.Context, objectId string) (GridC func (cache *GridCache) Commit() () { cache.AnyChange = false - cache.K.logger.Debug("Updating Grid From Cache","objectId",cache.ObjectId) + cache.K.logger.Info("Updating Grid From Cache","objectId",cache.ObjectId) if (cache.OreChanged) { cache.K.SetGridAttribute(cache.Ctx, cache.OreAttributeId, cache.Ore) diff --git a/x/structs/keeper/guild_cache.go b/x/structs/keeper/guild_cache.go index 834509d..a3d65b1 100644 --- a/x/structs/keeper/guild_cache.go +++ b/x/structs/keeper/guild_cache.go @@ -71,7 +71,7 @@ func (k *Keeper) GetGuildCacheFromId(ctx context.Context, guildId string) GuildC func (cache *GuildCache) Commit() { cache.AnyChange = false - cache.K.logger.Debug("Updating Guild From Cache", "guildId", cache.GuildId) + cache.K.logger.Info("Updating Guild From Cache", "guildId", cache.GuildId) if cache.GuildChanged { cache.K.SetGuild(cache.Ctx, cache.Guild) diff --git a/x/structs/keeper/planet_cache.go b/x/structs/keeper/planet_cache.go index e28513f..55d96ab 100644 --- a/x/structs/keeper/planet_cache.go +++ b/x/structs/keeper/planet_cache.go @@ -8,12 +8,11 @@ import ( "structs/x/structs/types" "github.com/nethruster/go-fraction" - // Used in Randomness Orb "math/rand" "bytes" "encoding/binary" - "fmt" + ) @@ -165,7 +164,7 @@ func (k *Keeper) GetPlanetCacheFromId(ctx context.Context, planetId string) (Pla func (cache *PlanetCache) Commit() () { cache.AnyChange = false - cache.K.logger.Debug("Updating Planet From Cache","planetId",cache.PlanetId) + cache.K.logger.Info("Updating Planet From Cache","planetId",cache.PlanetId) if (cache.PlanetChanged) { cache.K.SetPlanet(cache.Ctx, cache.Planet) @@ -610,17 +609,16 @@ func (cache *PlanetCache) IsSuccessful(successRate fraction.Fraction) bool { buf := bytes.NewBuffer(uctx.BlockHeader().AppHash) binary.Read(buf, binary.BigEndian, &seed) - fmt.Printf("Checking randomness using seed %d \n", seed) - seed = seed + cache.GetOwner().GetNextNonce() - fmt.Printf("Offsetting seed with nonce to %d \n", seed) - fmt.Printf("Odds of %d in %d \n", successRate.Numerator(), successRate.Denominator()) - randomnessOrb := rand.New(rand.NewSource(seed)) + seedOffset := seed + cache.GetOwner().GetNextNonce() + randomnessOrb := rand.New(rand.NewSource(seedOffset)) min := 1 max := int(successRate.Denominator()) - fmt.Printf("Result: %t \n", (int(successRate.Numerator()) <= (randomnessOrb.Intn(max-min+1) + min))) - return (int(successRate.Numerator()) <= (randomnessOrb.Intn(max-min+1) + min)) + randomnessCheck := (int(successRate.Numerator()) <= (randomnessOrb.Intn(max-min+1) + min)) + + cache.K.logger.Info("Planetary Success-Check Randomness", "planetId", cache.GetPlanetId(), "seed", seed, "offset", cache.GetOwner().GetNextNonce(), "seedOffset", seedOffset, "numerator", successRate.Numerator(), "denominator", successRate.Denominator(), "success", randomnessCheck) + return randomnessCheck } func (cache *PlanetCache) BuildInitiateReadiness(structure *types.Struct, structType *types.StructType, ambit types.Ambit, ambitSlot uint64) (error) { @@ -736,8 +734,7 @@ func (cache *PlanetCache) MoveReadiness(structure *StructCache, ambit types.Ambi func (cache *PlanetCache) SetSlot(structure types.Struct) (err error) { - fmt.Printf(" Planet %s", cache.GetPlanetId()) - fmt.Printf(" Setting Slot: %d", structure.Slot) + cache.K.logger.Info("Planet Slot Update","planetId", cache.GetPlanetId(), "slot", structure.Slot, "ambit", structure.OperatingAmbit) if (!cache.PlanetLoaded) { cache.LoadPlanet() } diff --git a/x/structs/keeper/player_cache.go b/x/structs/keeper/player_cache.go index e6da496..74ae1ea 100644 --- a/x/structs/keeper/player_cache.go +++ b/x/structs/keeper/player_cache.go @@ -4,7 +4,6 @@ import ( "context" //"math" - "fmt" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" @@ -119,7 +118,7 @@ func (k *Keeper) GetPlayerCacheFromAddress(ctx context.Context, address string) func (cache *PlayerCache) Commit() () { cache.AnyChange = false - fmt.Printf("\n Updating Player From Cache (%s) \n", cache.PlayerId) + cache.K.logger.Info("Updating Player From Cache","playerId",cache.PlayerId) if (cache.PlayerChanged) { cache.K.SetPlayer(cache.Ctx, cache.Player) } diff --git a/x/structs/keeper/provider.go b/x/structs/keeper/provider.go index dd2bba2..5cfb7c5 100644 --- a/x/structs/keeper/provider.go +++ b/x/structs/keeper/provider.go @@ -13,7 +13,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" //sdkerrors "cosmossdk.io/errors" - "fmt" + ) // GetProviderCount get the total number of provider @@ -61,24 +61,28 @@ func (k Keeper) AppendProvider(ctx context.Context, provider types.Provider) (ty // Set the Checkpoint to current block k.SetGridAttribute(ctx, GetGridAttributeIDByObjectId(types.GridAttributeType_checkpointBlock, provider.Id), uint64(ctxSDK.BlockHeight())) - // Create the Collateral Pool - fmt.Printf("Provider Collateral Pool: %s", types.ProviderCollateralPool+provider.Id) - fmt.Printf("Provider Collateral Pool: %s", authtypes.NewModuleAddress(types.ProviderCollateralPool+provider.Id)) - providerCollateralAddress := authtypes.NewModuleAddress(types.ProviderCollateralPool + provider.Id) + // Create the Collateral Pool + providerCollateralDetails := types.ProviderCollateralPool+provider.Id + providerCollateralAddress := authtypes.NewModuleAddress(providerCollateralDetails) providerCollateralAccount := k.accountKeeper.NewAccountWithAddress(ctx, providerCollateralAddress) k.accountKeeper.SetAccount(ctx, providerCollateralAccount) // Create the Earnings Pool - fmt.Printf("Provider Earnings Pool: %s", types.ProviderEarningsPool+provider.Id) - fmt.Printf("Provider Earnings Pool: %s", authtypes.NewModuleAddress(types.ProviderEarningsPool+provider.Id)) - - providerEarningsAddress := authtypes.NewModuleAddress(types.ProviderEarningsPool + provider.Id) + providerEarningsDetails := types.ProviderEarningsPool+provider.Id + providerEarningsAddress := authtypes.NewModuleAddress(providerEarningsDetails) providerEarningsAccount := k.accountKeeper.NewAccountWithAddress(ctx, providerEarningsAddress) k.accountKeeper.SetAccount(ctx, providerEarningsAccount) + k.logger.Info("Provider Created", + "providerId", provider.Id, + "collateralPoolDetails", providerCollateralDetails, + "collateralPoolAddress", providerCollateralAddress.String(), + "earningsPoolDetails", providerEarningsDetails, + "earningsPoolAddress", providerEarningsAddress.String()) + _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventProvider{Provider: &provider}) - _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventProviderAddress{&types.EventProviderAddressDetail{ProviderId: provider.Id, CollateralPool: string(providerCollateralAddress), EarningPool: string(providerEarningsAddress)}}) + _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventProviderAddress{&types.EventProviderAddressDetail{ProviderId: provider.Id, CollateralPool: providerCollateralAddress.String(), EarningPool: providerEarningsAddress.String()}}) return provider, nil } diff --git a/x/structs/keeper/provider_cache.go b/x/structs/keeper/provider_cache.go index a7031d0..a9d5e7f 100644 --- a/x/structs/keeper/provider_cache.go +++ b/x/structs/keeper/provider_cache.go @@ -6,10 +6,6 @@ import ( "structs/x/structs/types" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" - - // Used in Randomness Orb - - "fmt" "cosmossdk.io/math" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" ) @@ -70,7 +66,7 @@ func (k *Keeper) GetProviderCacheFromId(ctx context.Context, providerId string) func (cache *ProviderCache) Commit() { cache.AnyChange = false - fmt.Printf("\n Updating Provider From Cache (%s) \n", cache.ProviderId) + cache.K.logger.Info("Updating Provider From Cache", "providerId", cache.ProviderId) if cache.ProviderChanged { cache.K.SetProvider(cache.Ctx, cache.Provider) diff --git a/x/structs/keeper/reactor_hooks.go b/x/structs/keeper/reactor_hooks.go index c917dea..521d86d 100644 --- a/x/structs/keeper/reactor_hooks.go +++ b/x/structs/keeper/reactor_hooks.go @@ -9,7 +9,6 @@ import ( "cosmossdk.io/math" - "fmt" ) /* Setup Reactor (when a validator is created) @@ -141,11 +140,10 @@ func (k Keeper) ReactorUpdateFromValidator(ctx context.Context, validatorAddress } func (k Keeper) ReactorInfusionUnbonding(ctx context.Context, unbondingId uint64) { - fmt.Printf("New Unbonding Request %d \n", unbondingId) + unbondingDelegation, err := k.stakingKeeper.GetUnbondingDelegationByUnbondingID(ctx, unbondingId) - fmt.Printf("Delegator Address: %s \n", unbondingDelegation.DelegatorAddress) - fmt.Printf("Validator Address: %s \n", unbondingDelegation.ValidatorAddress) + k.logger.Info("Unbonding Request", "unbondingId", unbondingId, "delegator", unbondingDelegation.DelegatorAddress, "validator", unbondingDelegation.ValidatorAddress) if err == nil { var playerAddress sdk.AccAddress diff --git a/x/structs/keeper/struct.go b/x/structs/keeper/struct.go index 66cdad7..7bc7e16 100644 --- a/x/structs/keeper/struct.go +++ b/x/structs/keeper/struct.go @@ -14,7 +14,6 @@ import ( "structs/x/structs/types" "strconv" - "fmt" ) @@ -151,7 +150,7 @@ func StructDestructionQueueAddKeyPrefix(blockHeight int64) []byte { func (k Keeper) AppendStructDestructionQueue(ctx context.Context, structId string) { - fmt.Printf("\n Sweep %s later", structId) + k.logger.Info("Struct Sweep Queue Add", "structId", structId) unwrapCtx := sdk.UnwrapSDKContext(ctx) store := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), StructDestructionQueueAddKeyPrefix(unwrapCtx.BlockHeight())) @@ -168,7 +167,8 @@ func (k Keeper) StructSweepDestroyed(ctx context.Context) { defer iterator.Close() for ; iterator.Valid(); iterator.Next() { - fmt.Printf("\n Sweeping... %s \n", string(iterator.Key())) + k.logger.Info("Struct Sweep", "structId", iterator.Key()) + // Attributes // "health": StructAttributeType_health, k.ClearStructAttribute(ctx, GetStructAttributeIDByObjectId(types.StructAttributeType_health, string(iterator.Key()) )) diff --git a/x/structs/keeper/struct_attribute.go b/x/structs/keeper/struct_attribute.go index 79f8be2..7e5e84b 100644 --- a/x/structs/keeper/struct_attribute.go +++ b/x/structs/keeper/struct_attribute.go @@ -67,7 +67,7 @@ func (k Keeper) SetStructAttribute(ctx context.Context, structAttributeId string ctxSDK := sdk.UnwrapSDKContext(ctx) _ = ctxSDK.EventManager().EmitTypedEvent(&types.EventStructAttribute{&types.StructAttributeRecord{AttributeId: structAttributeId, Value: amount}}) - fmt.Printf("Struct Change (Set): (%s) %d \n", structAttributeId, amount) + k.logger.Info("Struct Change (Set)", "structAttributeId", structAttributeId, "amonunt", amount) } func (k Keeper) SetStructAttributeDelta(ctx context.Context, structAttributeId string, oldAmount uint64, newAmount uint64) (amount uint64, err error) { @@ -80,7 +80,7 @@ func (k Keeper) SetStructAttributeDelta(ctx context.Context, structAttributeId s amount = resetAmount + newAmount - fmt.Printf("Struct Change (Delta): (%s) %d to %d \n", structAttributeId, oldAmount, newAmount) + k.logger.Info("Struct Change (Delta)", "structAttributeId", structAttributeId, "oldAmount", oldAmount, "newAmount", newAmount) k.SetStructAttribute(ctx, structAttributeId, amount) return @@ -93,7 +93,7 @@ func (k Keeper) SetStructAttributeDecrement(ctx context.Context, structAttribute amount = currentAmount - decrementAmount } - fmt.Printf("Struct Change (Decrement): (%s) %d \n", structAttributeId, decrementAmount) + k.logger.Info("Struct Change (Decrement)", "structAttributeId", structAttributeId, "decrementAmount", decrementAmount) k.SetStructAttribute(ctx, structAttributeId, amount) return @@ -104,7 +104,7 @@ func (k Keeper) SetStructAttributeIncrement(ctx context.Context, structAttribute amount = currentAmount + incrementAmount - fmt.Printf("Struct Change (Increment): (%s) %d \n", structAttributeId, incrementAmount) + k.logger.Info("Struct Change (Increment)", "structAttributeId", structAttributeId, "incrementAmount", incrementAmount) k.SetStructAttribute(ctx, structAttributeId, amount) return @@ -136,8 +136,6 @@ func (k Keeper) StructAttributeFlagHasOneOf(ctx context.Context, structAttribute return currentFlags&flag != 0 } - - func (k Keeper) GetStructAttributesByObject(ctx context.Context, objectId string) (types.StructAttributes) { status := k.GetStructAttribute(ctx, GetStructAttributeIDByObjectId(types.StructAttributeType_status, objectId)) return types.StructAttributes{ diff --git a/x/structs/keeper/struct_cache.go b/x/structs/keeper/struct_cache.go index 13ffd18..cae851d 100644 --- a/x/structs/keeper/struct_cache.go +++ b/x/structs/keeper/struct_cache.go @@ -121,7 +121,6 @@ func (k *Keeper) InitiateStruct(ctx context.Context, creatorAddress string, owne switch structType.Category { case types.ObjectType_planet: - err := owner.GetPlanet().BuildInitiateReadiness(&structure, structType, ambit, slot) if (err != nil) { return StructCache{}, err @@ -129,19 +128,17 @@ func (k *Keeper) InitiateStruct(ctx context.Context, creatorAddress string, owne structure.LocationId = owner.GetPlanetId() structure.Slot = slot - fmt.Printf("\n Setting Location Slot for Planet: %d \n", structure.Slot) case types.ObjectType_fleet: + err := owner.GetFleet().BuildInitiateReadiness(&structure, structType, ambit, slot) + if (err != nil) { + return StructCache{}, err + } - err := owner.GetFleet().BuildInitiateReadiness(&structure, structType, ambit, slot) - if (err != nil) { - return StructCache{}, err - } - - if (structType.Type != types.CommandStruct) { - structure.Slot = slot - } + if (structType.Type != types.CommandStruct) { + structure.Slot = slot + } - structure.LocationId = owner.GetFleetId() + structure.LocationId = owner.GetFleetId() default: return StructCache{}, sdkerrors.Wrapf(types.ErrObjectNotFound, "We're not building these yet") } @@ -157,9 +154,8 @@ func (k *Keeper) InitiateStruct(ctx context.Context, creatorAddress string, owne switch structType.Category { case types.ObjectType_planet: - // Update the cross reference on the planet - fmt.Printf("\n About to Set Slot %d on %s \n", structure.Slot, owner.GetPlanet().GetPlanetId()) + k.logger.Info("Struct Set Slot", "slot", structure.Slot, "planetId", owner.GetPlanet().GetPlanetId()) err := owner.GetPlanet().SetSlot(structure) if (err != nil) { return StructCache{}, err @@ -227,7 +223,7 @@ func (k *Keeper) InitiateStruct(ctx context.Context, creatorAddress string, owne func (cache *StructCache) Commit() () { cache.AnyChange = false - fmt.Printf("\n Updating Struct From Cache (%s) \n", cache.StructId) + cache.K.logger.Info("Updating Struct From Cache","structId",cache.StructId) if (cache.StructureChanged) { cache.K.SetStruct(cache.Ctx, cache.Structure) @@ -710,17 +706,16 @@ func (cache *StructCache) IsSuccessful(successRate fraction.Fraction) bool { buf := bytes.NewBuffer(uctx.BlockHeader().AppHash) binary.Read(buf, binary.BigEndian, &seed) - fmt.Printf("Checking randomness using seed %d \n", seed) - seed = seed + cache.GetOwner().GetNextNonce() - fmt.Printf("Offsetting seed with nonce to %d \n", seed) - fmt.Printf("Odds of %d in %d \n", successRate.Numerator(), successRate.Denominator()) - randomnessOrb := rand.New(rand.NewSource(seed)) + seedOffset := seed + cache.GetOwner().GetNextNonce() + + randomnessOrb := rand.New(rand.NewSource(seedOffset)) min := 1 max := int(successRate.Denominator()) - fmt.Printf("Result: %t \n", (int(successRate.Numerator()) <= (randomnessOrb.Intn(max-min+1) + min))) + randomnessCheck := (int(successRate.Numerator()) <= (randomnessOrb.Intn(max-min+1) + min)) + cache.K.logger.Info("Struct Success-Check Randomness", "structId", cache.GetStructId(), "seed", seed, "offset", cache.GetOwner().GetNextNonce(), "seedOffset", seedOffset, "numerator", successRate.Numerator(), "denominator", successRate.Denominator(), "success", randomnessCheck) - return (int(successRate.Numerator()) <= (randomnessOrb.Intn(max-min+1) + min)) + return randomnessCheck } /* Permissions */ @@ -729,7 +724,6 @@ func (cache *StructCache) CanBePlayedBy(address string) (err error) { // Make sure the address calling this has Play permissions if (!cache.K.PermissionHasOneOf(cache.Ctx, GetAddressPermissionIDBytes(address), types.PermissionPlay)) { err = sdkerrors.Wrapf(types.ErrPermissionPlay, "Calling address (%s) has no play permissions ", address) - } callingPlayer, err := cache.K.GetPlayerCacheFromAddress(cache.Ctx, address) @@ -1087,7 +1081,8 @@ func (cache *StructCache) TakeCounterAttackDamage(counterStruct *StructCache) (d if (cache.IsDestroyed()) { return 0 } damage = counterStruct.GetStructType().GetCounterAttackDamage(cache.GetOperatingAmbit() == counterStruct.GetOperatingAmbit()) - fmt.Printf("Performing %d of counter-attack damage by %s on %s \n", damage, counterStruct.GetStructId(), cache.GetStructId()) + cache.K.logger.Info("Struct Counter-Attack","damage", damage, "counterAttacker", counterStruct.GetStructId(), "target", cache.GetStructId()) + if (damage != 0) { if (damage > cache.GetHealth()) { @@ -1103,7 +1098,7 @@ func (cache *StructCache) TakeCounterAttackDamage(counterStruct *StructCache) (d if (cache.Health == 0) { // destruction damage from the grave - fmt.Printf("Struct %s died during counter-attack", cache.GetStructId()) + cache.K.logger.Info("Struct Destroyed During Counter-Attack", "counterAttacker", counterStruct.GetStructId(), "target", cache.GetStructId()) if (cache.GetStructType().GetPostDestructionDamage() > 0) { counterStruct.TakePostDestructionDamage(cache) } @@ -1113,10 +1108,10 @@ func (cache *StructCache) TakeCounterAttackDamage(counterStruct *StructCache) (d } if (counterStruct.Defender) { - fmt.Printf("Generating a defender counter-attack record for the event \n") + cache.K.logger.Info("Generating a Defender Counter-Attack Record for the event") cache.GetEventAttackShotDetail().AppendDefenderCounter(counterStruct.StructId, damage, cache.IsDestroyed(), counterStruct.GetTypeId(), counterStruct.GetLocationType(), counterStruct.GetLocationId(), counterStruct.GetOperatingAmbit(), counterStruct.GetSlot()) } else { - fmt.Printf("Generating a target counter-attack record for the event \n") + cache.K.logger.Info("Generating a Target Counter-Attack Record for the event") cache.GetEventAttackShotDetail().AppendTargetCounter(damage, cache.IsDestroyed(), counterStruct.GetStructType().GetPassiveWeaponry()) } diff --git a/x/structs/keeper/substation_cache.go b/x/structs/keeper/substation_cache.go index a7ec9a4..94d785d 100644 --- a/x/structs/keeper/substation_cache.go +++ b/x/structs/keeper/substation_cache.go @@ -6,9 +6,6 @@ import ( //sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - - "fmt" - ) @@ -79,7 +76,7 @@ func (k *Keeper) InitiateSubstation(ctx context.Context, creatorAddress string, func (cache *SubstationCache) Commit() () { cache.AnyChange = false - fmt.Printf("\n Updating Substation From Cache (%s) \n", cache.SubstationId) + cache.K.logger.Info("Updating Substation From Cache","substationId", cache.SubstationId) if (cache.SubstationChanged) { cache.K.SetSubstation(cache.Ctx, cache.Substation) From 2efe11c952b857403e55369cf9d6dff63cca5079 Mon Sep 17 00:00:00 2001 From: abstrct Date: Fri, 24 Oct 2025 00:35:34 -0400 Subject: [PATCH 16/19] Improving logging throughout the module --- x/structs/keeper/agreement_index.go | 1 - x/structs/keeper/msg_server_address_register.go | 7 +++---- .../msg_server_guild_membership_join_proxy.go | 6 +++--- x/structs/keeper/msg_server_struct_attack.go | 13 ++++++------- .../keeper/msg_server_struct_build_initiate.go | 6 +----- x/structs/keeper/struct_cache.go | 7 ++----- 6 files changed, 15 insertions(+), 25 deletions(-) diff --git a/x/structs/keeper/agreement_index.go b/x/structs/keeper/agreement_index.go index 0e3d665..5f07a5b 100644 --- a/x/structs/keeper/agreement_index.go +++ b/x/structs/keeper/agreement_index.go @@ -70,7 +70,6 @@ func (k Keeper) GetAllAgreementByProviderIndex(ctx context.Context, providerId s } - func (k Keeper) SetAgreementExpirationIndex(ctx context.Context, block uint64, agreementId string) (err error) { providerIndexStore := prefix.NewStore(runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)), AgreementExpirationKeyPrefix(block)) diff --git a/x/structs/keeper/msg_server_address_register.go b/x/structs/keeper/msg_server_address_register.go index c215ce5..55c9c08 100644 --- a/x/structs/keeper/msg_server_address_register.go +++ b/x/structs/keeper/msg_server_address_register.go @@ -50,14 +50,13 @@ func (k msgServer) AddressRegister(goCtx context.Context, msg *types.MsgAddressR return &types.MsgAddressRegisterResponse{}, sdkerrors.Wrapf(types.ErrPermissionAssociation, "Calling address (%s) does not have permissions needed to allow address association of higher functionality ", msg.Creator) } - // Does the signature verify in the proof // Decode the PubKey from hex Encoding - fmt.Println("Encoding string:", msg.ProofPubKey) + k.logger.Info("Address Register", "encodingString", msg.ProofPubKey) decodedProofPubKey, decodeErr := hex.DecodeString(msg.ProofPubKey) if decodeErr != nil { - fmt.Println("Error decoding string:", decodeErr) + k.logger.Error("Address Register Public Key", "decodingError", decodeErr) } // Convert provided pub key into a bech32 string (i.e., an address) address := types.PubKeyToBech32(decodedProofPubKey) @@ -75,7 +74,7 @@ func (k msgServer) AddressRegister(goCtx context.Context, msg *types.MsgAddressR // Decode the Signature from Hex Encoding decodedProofSignature, decodeErr := hex.DecodeString(msg.ProofSignature) if decodeErr != nil { - fmt.Println("Error decoding string:", decodeErr) + k.logger.Error("Address Register Signature", "decodingError", decodeErr) } // Proof needs to only be 64 characters. Some systems provide a checksum bit on the end that ruins it all diff --git a/x/structs/keeper/msg_server_guild_membership_join_proxy.go b/x/structs/keeper/msg_server_guild_membership_join_proxy.go index a000365..49fe948 100644 --- a/x/structs/keeper/msg_server_guild_membership_join_proxy.go +++ b/x/structs/keeper/msg_server_guild_membership_join_proxy.go @@ -31,11 +31,11 @@ func (k msgServer) GuildMembershipJoinProxy(goCtx context.Context, msg *types.Ms } // Decode the PubKey from hex Encoding - fmt.Println("Encoding string:", msg.ProofPubKey) + k.logger.Info("Guild Join Proxy", "encodingString", msg.ProofPubKey) decodedProofPubKey, decodeErr := hex.DecodeString(msg.ProofPubKey) if decodeErr != nil { - fmt.Println("Error decoding string:", decodeErr) + k.logger.Error("Guild Join Proxy Public Key", "decodingError", decodeErr) } // Convert provided pub key into a bech32 string (i.e., an address) @@ -73,7 +73,7 @@ func (k msgServer) GuildMembershipJoinProxy(goCtx context.Context, msg *types.Ms // Decode the Signature from Hex Encoding decodedProofSignature, decodeErr := hex.DecodeString(msg.ProofSignature) if decodeErr != nil { - fmt.Println("Error decoding string:", decodeErr) + k.logger.Error("Guild Join Proxy Signature", "decodingError", decodeErr) } // Proof needs to only be 64 characters. Some systems provide a checksum bit on the end that ruins it all diff --git a/x/structs/keeper/msg_server_struct_attack.go b/x/structs/keeper/msg_server_struct_attack.go index 71c48be..524ea61 100644 --- a/x/structs/keeper/msg_server_struct_attack.go +++ b/x/structs/keeper/msg_server_struct_attack.go @@ -20,7 +20,8 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac k.AddressEmitActivity(ctx, msg.Creator) structure := k.GetStructCacheFromId(ctx, msg.OperatingStructId) - fmt.Printf("\n Starting attack from %s \n", msg.OperatingStructId) + + k.logger.Info("Attack Action", "structId", msg.OperatingStructId) // Check to see if the caller has permissions to proceed permissionError := structure.CanBePlayedBy(msg.Creator) if (permissionError != nil) { @@ -61,10 +62,9 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac var targetWasPlanetary bool var targetWasOnPlanet *PlanetCache - fmt.Printf("Attack will include %d shots \n", structure.GetStructType().GetWeaponTargets(types.TechWeaponSystem_enum[msg.WeaponSystem])) // Begin taking shots. Most weapons only use a single shot but some perform multiple. for shot := uint64(0); shot < (structure.GetStructType().GetWeaponTargets(types.TechWeaponSystem_enum[msg.WeaponSystem])); shot++ { - fmt.Printf("Attack shot %d of %d against %s \n", shot, structure.GetStructType().GetWeaponTargets(types.TechWeaponSystem_enum[msg.WeaponSystem]), msg.TargetStructId[shot]) + k.logger.Info("Attack Action", "structId", msg.OperatingStructId, "shot", shot, "shots", structure.GetStructType().GetWeaponTargets(types.TechWeaponSystem_enum[msg.WeaponSystem]), "target", msg.TargetStructId[shot] ) // Load the Target Struct cache object targetStructure := k.GetStructCacheFromId(ctx, msg.TargetStructId[shot]) @@ -84,10 +84,10 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac return &types.MsgStructAttackResponse{}, targetingError } - fmt.Printf("Struct %s was targetable \n", msg.TargetStructId[shot]) + k.logger.Info("Struct Targetable", "target", msg.TargetStructId[shot]) if (targetStructure.CanEvade(&structure, types.TechWeaponSystem_enum[msg.WeaponSystem])) { - fmt.Printf("Struct %s evaded \n", msg.TargetStructId[shot]) + k.logger.Info("Struct Evaded", "target", msg.TargetStructId[shot]) structure.GetEventAttackDetail().AppendShot(targetStructure.FlushEventAttackShotDetail()) continue } @@ -95,8 +95,7 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac attackBlocked := false // Check to make sure the attack is either counterable, blockable, or both. Otherwise skip this section - fmt.Printf("Struct Blockable? %t \n", (structure.GetStructType().GetWeaponBlockable(types.TechWeaponSystem_enum[msg.WeaponSystem]))) - fmt.Printf("Struct Counterable? %t \n", (structure.GetStructType().GetWeaponCounterable(types.TechWeaponSystem_enum[msg.WeaponSystem]))) + k.logger.Info("Struct Attacker Status", "structId", structure.GetStructId(), "blockable", (structure.GetStructType().GetWeaponBlockable(types.TechWeaponSystem_enum[msg.WeaponSystem])), "counterable",(structure.GetStructType().GetWeaponCounterable(types.TechWeaponSystem_enum[msg.WeaponSystem]))) if ((structure.GetStructType().GetWeaponBlockable(types.TechWeaponSystem_enum[msg.WeaponSystem])) || (structure.GetStructType().GetWeaponCounterable(types.TechWeaponSystem_enum[msg.WeaponSystem]))) { // Check the Defenders diff --git a/x/structs/keeper/msg_server_struct_build_initiate.go b/x/structs/keeper/msg_server_struct_build_initiate.go index 22a1e39..66a9af1 100644 --- a/x/structs/keeper/msg_server_struct_build_initiate.go +++ b/x/structs/keeper/msg_server_struct_build_initiate.go @@ -5,7 +5,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" "structs/x/structs/types" - "fmt" ) /* MsgStructBuildInitiate @@ -75,10 +74,7 @@ func (k msgServer) StructBuildInitiate(goCtx context.Context, msg *types.MsgStru } - - fmt.Printf("Trying to materialized a Struct \n") - fmt.Printf("Struct Type: %s ", structType.Type) - fmt.Printf("Destination: %d", msg.Slot) + k.logger.Info("Struct Materializing", "structType", structType.Type, "ambit", msg.OperatingAmbit, "slot", msg.Slot) structure, err := k.InitiateStruct(ctx, msg.Creator, &owner, &structType, msg.OperatingAmbit, msg.Slot) if (err != nil) { return &types.MsgStructStatusResponse{}, err diff --git a/x/structs/keeper/struct_cache.go b/x/structs/keeper/struct_cache.go index cae851d..80abb9f 100644 --- a/x/structs/keeper/struct_cache.go +++ b/x/structs/keeper/struct_cache.go @@ -13,9 +13,6 @@ import ( "math/rand" "bytes" "encoding/binary" - - "fmt" - ) @@ -860,11 +857,11 @@ func (cache *StructCache) CanAttack(targetStruct *StructCache, weaponSystem type func (cache *StructCache) CanCounterAttack(attackerStruct *StructCache) (err error) { if (attackerStruct.IsDestroyed() || cache.IsDestroyed()) { - fmt.Printf("Counter Struct (%s) or Attacker Struct (%s) is already destroyed", cache.StructId, attackerStruct.StructId) + cache.K.logger.Info("Counter Struct or Attacker Struct is already destroyed", "counterStruct", cache.StructId, "target", attackerStruct.StructId) err = sdkerrors.Wrapf(types.ErrStructAction, "Counter Struct (%s) or Attacker Struct (%s) is already destroyed", cache.StructId, attackerStruct.StructId) } else { if (!cache.GetStructType().CanCounterTargetAmbit(cache.GetOperatingAmbit(), attackerStruct.GetOperatingAmbit())) { - fmt.Printf("Attacker Struct (%s) cannot be hit from Counter Struct (%s) using this weapon system", attackerStruct.StructId, cache.StructId) + cache.K.logger.Info("Attacker Struct cannot be hit from Counter Struct using this weapon system", "target", attackerStruct.StructId, "counterStruct", cache.StructId) err = sdkerrors.Wrapf(types.ErrStructAction, "Attacker Struct (%s) cannot be hit from Counter Struct (%s) using this weapon system", attackerStruct.StructId, cache.StructId) } } From 66563b871c88914c52e0a3fac8d18d540b57312c Mon Sep 17 00:00:00 2001 From: abstrct Date: Fri, 24 Oct 2025 00:39:17 -0400 Subject: [PATCH 17/19] Improving logging throughout the module --- x/structs/keeper/msg_server_address_register.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/structs/keeper/msg_server_address_register.go b/x/structs/keeper/msg_server_address_register.go index 55c9c08..249e19a 100644 --- a/x/structs/keeper/msg_server_address_register.go +++ b/x/structs/keeper/msg_server_address_register.go @@ -69,7 +69,7 @@ func (k msgServer) AddressRegister(goCtx context.Context, msg *types.MsgAddressR // We rebuild the message manually here rather than trust the client to provide it hashInput := fmt.Sprintf("PLAYER%sADDRESS%s", msg.PlayerId, msg.Address) - fmt.Println(hashInput) + k.logger.Info("Address Register", "hashInput", hashInput) // Decode the Signature from Hex Encoding decodedProofSignature, decodeErr := hex.DecodeString(msg.ProofSignature) From 8d5bcdc7c951a62e50fdf973e8d7c6d66973da71 Mon Sep 17 00:00:00 2001 From: abstrct Date: Fri, 24 Oct 2025 14:58:28 -0400 Subject: [PATCH 18/19] Improving logging throughout attack transactions --- x/structs/keeper/msg_server_struct_attack.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/x/structs/keeper/msg_server_struct_attack.go b/x/structs/keeper/msg_server_struct_attack.go index 524ea61..48d78d7 100644 --- a/x/structs/keeper/msg_server_struct_attack.go +++ b/x/structs/keeper/msg_server_struct_attack.go @@ -102,7 +102,7 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac defenderPlayer := targetStructure.GetOwner() defenders := targetStructure.GetDefenders() for _, defender := range defenders { - fmt.Printf("Defender (%s) at Location (%s) \n", defender.GetStructId(), defender.GetLocationId()) + k.logger.Info("Defender at Location", "defender", defender.GetStructId(), "locationId", defender.GetLocationId()) defender.Defender = true defender.ManualLoadOwner(defenderPlayer) @@ -111,19 +111,19 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac defenderReadinessError := defender.ReadinessCheck() if (defenderReadinessError == nil) { - fmt.Printf("Defender seems ready to defend.. \n") + k.logger.Info("Defender seems ready to defend") if (!attackBlocked && (structure.GetStructType().GetWeaponBlockable(types.TechWeaponSystem_enum[msg.WeaponSystem]))) { - fmt.Printf("Defender to attempt a block!.. \n") + k.logger.Info("Defender to attempt a block!") attackBlocked = defender.AttemptBlock(&structure, types.TechWeaponSystem_enum[msg.WeaponSystem], &targetStructure) } } if (structure.GetStructType().GetWeaponCounterable(types.TechWeaponSystem_enum[msg.WeaponSystem])) { - fmt.Printf("Defender trying to counter!.. \n") + k.logger.Info("Defender trying to counter!.. ") counterErrors := defender.CanCounterAttack(&structure) if (counterErrors == nil) { - fmt.Printf("Defender counter-attacking!.. \n") + k.logger.Info("Defender counter-attacking!") structure.TakeCounterAttackDamage(defender) } } @@ -135,18 +135,18 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac // Fun story, I'd actually forgotten this code block after writing all the other function // Turns out, my Struct wasn't attacking because I forgot the part of Attack that attacks. if (!attackBlocked && structure.IsOnline()) { - fmt.Printf("Moving forward with the attack on %s \n", msg.TargetStructId[shot]) + k.logger.Info("Moving forward with the attack", "target", msg.TargetStructId[shot]) targetStructure.TakeAttackDamage(&structure, types.TechWeaponSystem_enum[msg.WeaponSystem]) } else { - fmt.Printf("Attack against %s was blocked \n", msg.TargetStructId[shot]) + k.logger.Info("Attack against target was blocked", "target", msg.TargetStructId[shot]) } if (structure.GetStructType().GetWeaponCounterable(types.TechWeaponSystem_enum[msg.WeaponSystem])) { - fmt.Printf("Target trying to Counter now!.. \n") + k.logger.Info("Target trying to Counter now!") counterErrors := targetStructure.CanCounterAttack(&structure) if (counterErrors == nil) { - fmt.Printf("Target Countering!.. \n") + k.logger.Info("Target Countering!") structure.TakeCounterAttackDamage(&targetStructure) } } From 7eafc63e2b5478ca54bab74b2e2f4508b16b187a Mon Sep 17 00:00:00 2001 From: abstrct Date: Fri, 24 Oct 2025 15:01:37 -0400 Subject: [PATCH 19/19] Improving logging throughout attack transactions --- x/structs/keeper/msg_server_struct_attack.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/x/structs/keeper/msg_server_struct_attack.go b/x/structs/keeper/msg_server_struct_attack.go index 48d78d7..6b46366 100644 --- a/x/structs/keeper/msg_server_struct_attack.go +++ b/x/structs/keeper/msg_server_struct_attack.go @@ -3,8 +3,6 @@ package keeper import ( "context" - "fmt" - sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "cosmossdk.io/errors" @@ -176,12 +174,11 @@ func (k msgServer) StructAttack(goCtx context.Context, msg *types.MsgStructAttac k.DischargePlayer(ctx, structure.GetOwnerId()) - fmt.Println(ctx.ExecMode()) - if (ctx.ExecMode()== sdk.ExecModeCheck) { + if (ctx.ExecMode() == sdk.ExecModeCheck) { //ctx.GasMeter().RefundGas(ctx.GasMeter().GasConsumed(), "Walkin it back") ctx.GasMeter().ConsumeGas(uint64(200000), "Messin' with the estimator") } - fmt.Println(ctx.GasMeter().String()) + k.logger.Info("Attack Transaction Gas", "gasMeter", ctx.GasMeter().String(), "execMode", ctx.ExecMode()) return &types.MsgStructAttackResponse{}, nil }