github.com/klaytn/klaytn@v1.12.1/blockchain/types/accountkey/doc.go (about)

     1  // Copyright 2018 The klaytn Authors
     2  // This file is part of the klaytn library.
     3  //
     4  // The klaytn library is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Lesser General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // The klaytn library is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  // GNU Lesser General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Lesser General Public License
    15  // along with the klaytn library. If not, see <http://www.gnu.org/licenses/>.
    16  
    17  /*
    18  Package accountkey implements the AccountKey used in Klaytn.
    19  Inside the package, types, functions and interfaces associated with the AccountKey are defined.
    20  
    21  Type of AccountKey
    22  
    23  The AccountKey types used in Klaytn are as follows:
    24    - AccountKeyTypeNil
    25    - AccountKeyTypeLegacy
    26    - AccountKeyTypePublic
    27    - AccountKeyTypeFail
    28    - AccountKeyTypeWeightedMultiSig
    29    - AccountKeyTypeRoleBased
    30  
    31  Each AccountKey type implements the AccountKey interface.
    32  
    33  Source Files
    34  
    35  AccountKey related functions and variables are defined in the files listed below.
    36    - account_key.go                    : Defines the AccountKey types, the AccountKey interface and the functions related to AccountKey.
    37    - account_key_fail.go               : An AccountKey for AccountKeyFail type is defined. If an account has the fail key, the account's transaction validation process always fails.
    38    - account_key_legacy.go             : An AccountKey for AccountKeyLegacy type is defined. If an account has the legacy key, the account's key pair should be coupled with its address.
    39    - account_key_nil.go                : An AccountKey for AccountKeyNil type is defined. The nil key is used only for TxTypeAccountUpdate transactions representing an empty key.
    40    - account_key_public.go             : An AccountKey for AccountKeyPublic type is defined. If an account contains a public key as an account key, the public key will be used in the account's transaction validation process.
    41    - account_key_role_based.go         : An AccountKey for AccountKeyRoleBased type is defined. AccountKeyRoleBased contains keys that have three roles: RoleTransaction, RoleAccountUpdate, and RoleFeePayer. If an account has a role-based key that consists of more than one key, the account's transaction validation process will use one key in the role-based key depends on the transaction type.
    42    - account_key_serializer.go         : AccountKeySerializer is defined for serialization of AccountKey.
    43    - account_key_weighted_multi_sig.go : An AccountKey for AccountKeyWeightedMultiSig type is defined. AccountKeyWeightedMultiSig contains Threshold and WeightedPublicKeys.
    44    - public_key.go                     : PublicKeySerializable is defined for serialization of public key.
    45  
    46  For more information on AccountKey, please see the document below.
    47  https://docs.klaytn.com/klaytn/design/accounts#account-key
    48  */
    49  package accountkey