github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/wasm/types/errors.go (about)

     1  package types
     2  
     3  import (
     4  	sdkErrors "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types/errors"
     5  )
     6  
     7  // Codes for wasm contract errors
     8  var (
     9  	DefaultCodespace = ModuleName
    10  
    11  	// Note: never use code 1 for any errors - that is reserved for ErrInternal in the core cosmos sdk
    12  
    13  	// ErrCreateFailed error for wasm code that has already been uploaded or failed
    14  	ErrCreateFailed = sdkErrors.Register(DefaultCodespace, 2, "create wasm contract failed")
    15  
    16  	// ErrAccountExists error for a contract account that already exists
    17  	ErrAccountExists = sdkErrors.Register(DefaultCodespace, 3, "contract account already exists")
    18  
    19  	// ErrInstantiateFailed error for rust instantiate contract failure
    20  	ErrInstantiateFailed = sdkErrors.Register(DefaultCodespace, 4, "instantiate wasm contract failed")
    21  
    22  	// ErrExecuteFailed error for rust execution contract failure
    23  	ErrExecuteFailed = sdkErrors.Register(DefaultCodespace, 5, "execute wasm contract failed")
    24  
    25  	// ErrGasLimit error for out of gas
    26  	ErrGasLimit = sdkErrors.Register(DefaultCodespace, 6, "insufficient gas")
    27  
    28  	// ErrInvalidGenesis error for invalid genesis file syntax
    29  	ErrInvalidGenesis = sdkErrors.Register(DefaultCodespace, 7, "invalid genesis")
    30  
    31  	// ErrNotFound error for an entry not found in the store
    32  	ErrNotFound = sdkErrors.Register(DefaultCodespace, 8, "not found")
    33  
    34  	// ErrQueryFailed error for rust smart query contract failure
    35  	ErrQueryFailed = sdkErrors.Register(DefaultCodespace, 9, "query wasm contract failed")
    36  
    37  	// ErrInvalidMsg error when we cannot process the error returned from the contract
    38  	ErrInvalidMsg = sdkErrors.Register(DefaultCodespace, 10, "invalid CosmosMsg from the contract")
    39  
    40  	// ErrMigrationFailed error for rust execution contract failure
    41  	ErrMigrationFailed = sdkErrors.Register(DefaultCodespace, 11, "migrate wasm contract failed")
    42  
    43  	// ErrEmpty error for empty content
    44  	ErrEmpty = sdkErrors.Register(DefaultCodespace, 12, "empty")
    45  
    46  	// ErrLimit error for content that exceeds a limit
    47  	ErrLimit = sdkErrors.Register(DefaultCodespace, 13, "exceeds limit")
    48  
    49  	// ErrInvalid error for content that is invalid in this context
    50  	ErrInvalid = sdkErrors.Register(DefaultCodespace, 14, "invalid")
    51  
    52  	// ErrDuplicate error for content that exists
    53  	ErrDuplicate = sdkErrors.Register(DefaultCodespace, 15, "duplicate")
    54  
    55  	// ErrMaxIBCChannels error for maximum number of ibc channels reached
    56  	ErrMaxIBCChannels = sdkErrors.Register(DefaultCodespace, 16, "max transfer channels")
    57  
    58  	// ErrUnsupportedForContract error when a feature is used that is not supported for/ by this contract
    59  	ErrUnsupportedForContract = sdkErrors.Register(DefaultCodespace, 17, "unsupported for this contract")
    60  
    61  	// ErrPinContractFailed error for pinning contract failures
    62  	ErrPinContractFailed = sdkErrors.Register(DefaultCodespace, 18, "pinning contract failed")
    63  
    64  	// ErrUnpinContractFailed error for unpinning contract failures
    65  	ErrUnpinContractFailed = sdkErrors.Register(DefaultCodespace, 19, "unpinning contract failed")
    66  
    67  	// ErrUnknownMsg error by a message handler to show that it is not responsible for this message type
    68  	ErrUnknownMsg = sdkErrors.Register(DefaultCodespace, 20, "unknown message from the contract")
    69  
    70  	// ErrInvalidEvent error if an attribute/event from the contract is invalid
    71  	ErrInvalidEvent = sdkErrors.Register(DefaultCodespace, 21, "invalid event")
    72  
    73  	//  error if an address does not belong to a contract (just for registration)
    74  	_ = sdkErrors.Register(DefaultCodespace, 22, "no such contract")
    75  
    76  	// ErrNotAJSONObject error if given data is not a JSON object
    77  	ErrNotAJSONObject = sdkErrors.Register(DefaultCodespace, 23, "not a JSON object")
    78  
    79  	// ErrNoTopLevelKey error if a JSON object has no top-level key
    80  	ErrNoTopLevelKey = sdkErrors.Register(DefaultCodespace, 24, "no top-level key")
    81  
    82  	// ErrMultipleTopLevelKeys error if a JSON object has more than one top-level key
    83  	ErrMultipleTopLevelKeys = sdkErrors.Register(DefaultCodespace, 25, "multiple top-level keys")
    84  
    85  	// ErrTopKevelKeyNotAllowed error if a JSON object has a top-level key that is not allowed
    86  	ErrTopKevelKeyNotAllowed = sdkErrors.Register(DefaultCodespace, 26, "top-level key is not allowed")
    87  	// ErrInvalidEvent error if an attribute/event from the contract is invalid
    88  
    89  	// ErrExceedMaxQueryStackSize error if max query stack size is exceeded
    90  	ErrExceedMaxQueryStackSize = sdkErrors.Register(DefaultCodespace, 27, "max query stack size exceeded")
    91  )
    92  
    93  type ErrNoSuchContract struct {
    94  	Addr string
    95  }
    96  
    97  func (m *ErrNoSuchContract) Error() string {
    98  	return "no such contract: " + m.Addr
    99  }
   100  
   101  func (m *ErrNoSuchContract) ABCICode() uint32 {
   102  	return 22
   103  }
   104  
   105  func (m *ErrNoSuchContract) Codespace() string {
   106  	return DefaultCodespace
   107  }