github.com/hashgraph/hedera-sdk-go/v2@v2.48.0/freeze_type.go (about)

     1  package hedera
     2  
     3  /*-
     4   *
     5   * Hedera Go SDK
     6   *
     7   * Copyright (C) 2020 - 2024 Hedera Hashgraph, LLC
     8   *
     9   * Licensed under the Apache License, Version 2.0 (the "License");
    10   * you may not use this file except in compliance with the License.
    11   * You may obtain a copy of the License at
    12   *
    13   *      http://www.apache.org/licenses/LICENSE-2.0
    14   *
    15   * Unless required by applicable law or agreed to in writing, software
    16   * distributed under the License is distributed on an "AS IS" BASIS,
    17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    18   * See the License for the specific language governing permissions and
    19   * limitations under the License.
    20   *
    21   */
    22  
    23  import "fmt"
    24  
    25  type FreezeType int32
    26  
    27  const (
    28  	FreezeTypeUnknown          FreezeType = 0
    29  	FreezeTypeFreezeOnly       FreezeType = 1
    30  	FreezeTypePrepareUpgrade   FreezeType = 2
    31  	FreezeTypeFreezeUpgrade    FreezeType = 3
    32  	FreezeTypeFreezeAbort      FreezeType = 4
    33  	FreezeTypeTelemetryUpgrade FreezeType = 5
    34  )
    35  
    36  func (freezeType FreezeType) String() string {
    37  	switch freezeType {
    38  	case FreezeTypeUnknown:
    39  		return "UNKNOWN_FREEZE_TYPE"
    40  	case FreezeTypeFreezeOnly:
    41  		return "FREEZE_ONLY"
    42  	case FreezeTypePrepareUpgrade:
    43  		return "PREPARE_UPGRADE"
    44  	case FreezeTypeFreezeUpgrade:
    45  		return "FREEZE_UPGRADE"
    46  	case FreezeTypeFreezeAbort:
    47  		return "FREEZE_ABORT"
    48  	case FreezeTypeTelemetryUpgrade:
    49  		return "TELEMETRY_UPGRADE"
    50  	}
    51  
    52  	panic(fmt.Sprintf("unreacahble: FreezeType.String() switch statement is non-exhaustive. Status: %v", uint32(freezeType)))
    53  }